制作了一套自己的组件库,并发布到npm上,项目代码见https://github.com/hamger/hg-vcomponents
前期准备
- 有一个npm账号
- 安装了vue-cli
搭建项目
vue init webpack hg-vcomponents cd hg-vcomponents cnpm install
目录结构
- vue-flag-list + build + dist // 存放发布到npm的代码 - src - components // 存放组件源代码 和 README.md - arrows arrows.vue README.md - round round.vue README.md index.js // 组件导出文件 - examples // 存放组件的 demo arrows.vue round.vue index.vue // 组件 demo 的入口 - router index.js // 引入 examples 下的组件,并配置路由 App.vue main.js ...
内部代码详见 GitHub,如果对你有所帮助,给个star吧 。
项目配置
为了使项目能上传到npm上,需要配置一些地方。
build/webpack.base.conf.js
entry: { app: process.env.NODE_ENV === 'production' "htmlcode">"private": false, // 因为组件包是公用的,所以 private 为 false "main": "dist/hg-vcomponents.min.js", // 导出文件名,即 import 引入的文件.gitignore
dist文件夹下文件是要导出的文件,所以在.gitignore文件中把dist/去掉,这样上传代码的时候也会更新打包后的文件。
开发与生产
由于配置了webpack.base.conf.js,使得项目的开发与生产独立开来。
使用npm run dev进入开发环境,就可以看到组件的demo,方便调试。使用npm run build打包组件库。
发布到npm
在你登录了npm的情况下,在根目录输入命令行(每次更新代码执行同样操作)
npm version patch npm publish大功告成!现在你可以在其他地方使用npm install hg-vconponents下载自己写的组件库了。