JavaScript

超轻量级php框架startmvc

Vue组件库发布到npm详解

更新时间:2020-06-28 11:30:01 作者:startmvc
制作了一套自己的组件库,并发布到npm上,项目代码见https://github.com/hamger/hg-vcomponents前期

制作了一套自己的组件库,并发布到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'
 ? './src/components/index.js' // 生产模式下导入文件
 : './src/main.js' // 开发模式下导入文件
},

package.json


"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下载自己写的组件库了。

Vue 组件库 npm