博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue-Donut——专用于构建Vue的UI组件库的开发框架
阅读量:6801 次
发布时间:2019-06-26

本文共 1918 字,大约阅读时间需要 6 分钟。

写于 2017.05.04

相信不少使用Vue的开发者和公司都有定制一套属于自己的UI组件库的需求。但是要开发、测试、打包、发布这个组件库,却需要耗费较大的劳动力去搭建一整套的环境。针对这个问题,我搭建了一个专门用来构建Vue的UI组件库的开发框架,以节省搭建环境的劳动力,专心于组件库的开发。

一、介绍

项目地址:

Vue-Donut是一个开发框架,配合vue-cli使用。所以首先保证全局安装有vue-cli。接下来就可以初始化我们的项目了:

vue init jrainlau/vue-donut 
<项目名>
复制代码

类似官方的模板,Vue-Donut也允许用户进行一些配置。在配置完成后则会生成你的组件库目录。值得注意的是,这个组件库最终发布的名字也是你所自定义的项目名(当然这些都是可以修改的)。

接下来按照提示,进入项目目录后,通过yarn命令下载所需依赖包即可开始使用。

目录结构如下:

.├── index.html├── package.json├── src│   ├── app.vue│   ├── assets│   │   └── donut.jpg│   ├── components│   │   ├── content.vue│   │   ├── header.vue│   │   ├── index.js│   │   ├── link.vue│   │   └── title.vue│   └── main.js└── webapck    ├── build.js    ├── dev.js    ├── doc.js    ├── webpack.base.config.js    ├── webpack.build.config.js    ├── webpack.dev.config.js    └── webpack.doc.config.js复制代码

二、命令

  • yarn run dev:开发模式

    • 通过webpack-dev-server开启一个测试服务器,就和官方的模板里面的一样。
  • yarn run build:打包及发布模式

    • 这个命令会以src/components/index.js为入口文件,通过webpack构建后产出到dist目录。
    • dist/index.js就是你接下来将会发布到npm上面的包。
    • 你应该熟练掌握
    • src/components/index.js入口文件应该长成下面这个样子:
      import myComponent from './my-component.vue'const install = (Vue) => {  Vue.component('my-componen', myComponent)}export default install复制代码
  • yarn run build:文档模式

    • 通过运行yarn run dev,你所开发的就像是一个普通的单页应用,这也类似于组件库的官方文档页面。当开发完成后,你可以通过这条命令打包你的应用。app.[hash].js, vendor.[hash].jsmanifest.[hash].js,以及独立的css文件都会被打包到docs文件夹。
    • source map *.[hash].map会被自动生成。
    • 可以方便地直接使用docs目录作为github pages的资源目录。

三、注意事项

Vue-Donut默认使用less作为预处理器,如果需要用其他预处理器,可以自定义配置。

测试同理。

四、证书

MIT

一些碎碎念

在工作的过程中,遇到了搭建UI组件库的需求。开发不难,麻烦的是如何在项目中引入使用。首先我们尝试了使用git的submodule方案,就是把UI组件库直接作为项目的子模块使用。另外一种方式,是把整个组件库发布到npm,然后在webpack.module.rulesexclude里面通过正则或者函数的方式,使用项目的webpack配置去跑组件库的代码。这两种方式都不那么优雅,思考再三,最后决定搭个更加方便优雅的开发框架来。

在此之前,对于webpack的使用及配置仅处于“看得懂”的程度,但从未真正从头开始搭过。在搭建的过程中也遇到了不少坑,但通过查阅官方文档大都能获得解决办法,实在不行还有万能的google和stackoverflow。搭的过程中也参考了很多优秀的实践,比如公司前辈的搭建方式,以及vue-cli官方出品的搭建方式等,搭完后对webpack的掌握也得到了极大的提升。

希望这个作品能够发挥能效,也欢迎提出问题和建议和我交流~

转载地址:http://qbywl.baihongyu.com/

你可能感兴趣的文章
Python笔记 开发环境搭建
查看>>
ios logo 启动页大小
查看>>
(四)构建dubbo分布式平台-maven代码结构
查看>>
Vue插件从封装到发布
查看>>
扒一扒我们生活中常见的品牌小程序
查看>>
使用注解干掉大量if else和switch
查看>>
【本人秃顶程序员】实战并发-使用分布式缓存和有限状态机
查看>>
[MySQL光速入门]019 分别使用loop, while, repeat 来计算 从0加到100 答案
查看>>
浅析libuv源码-node事件轮询解析(2)
查看>>
区块链软件公司:区块链技术去中心化
查看>>
Python爬虫的基本概念、分类、学习路线以及爬取数据思路
查看>>
BCH或许才是真正的未来
查看>>
python编程:从入门到实践学习笔记-函数
查看>>
SpringBoot使用Nacos配置中心
查看>>
Java四种线程池的使用
查看>>
Go学习系列——第一个 Go程序
查看>>
关于ntp时间同步理论及配置参数-20170804
查看>>
loadrunner 脚本开发-int型变量和字符串的相互转换
查看>>
为什么运行NOVA命令总要报一个DEBUG,没找到原因,路过的大侠一起看看啊
查看>>
北电ERS1600,8300,8600交换机的基本技术-第十章接口高级特征
查看>>