构建库的常见方法有两种:一种是本身手动构建webpack库打包,设置output为 library
; 另外一种是基于vue-cli3
输出库资源包。咱们采用第二种vue脚手架的方式构建库。html
// package.json "scripts": { // ... "lib": "vue-cli-service build --target lib --name Step --dest dist packages/index.js" } // packages/index.js 默认打包Step import Step from '../steps/src/step'; Step.install = function(Vue) { Vue.component(Step.name, Step); }; export default Step;
--name
: 库名称。--target
: 构建目标,默认为应用模式。这里修改成 lib 启用库模式。--dest
: 输出目录,默认 dist。[entry]
: 最后一个参数为入口文件,默认为 src/App.vue。更多详细配置查看 ☛ vue脚手架官网vue
vue.config.js
配置 externals
// vue.config.js module.exports = { configureWebpack:{ externals: { vue: 'Vue', 'vue-router':'VueRouter', axios: 'axios' } } }
执行 npm run lib
就能够发现咱们的库被打包到了 根目录的dist文件夹下。webpack
和 .gitignore 的语法同样,具体须要提交什么文件,看各自的实际状况ios
# 忽略目录 examples/ packages/ public/ # 忽略指定文件 vue.config.js babel.config.js *.map
配置package.json文件,以发布库文件。git
{ "name": "gis", "version": "1.2.5", "description": "基于 Vue 的库文件", "main": "dist/gis.umd.min.js", "keyword": "vue gis", "private": false, "files": ["dist"], "license": "MIT" }
"version": "1.2.5"
主版本号为 1,次版本号 2,修订号 5
首先设置登陆的npm镜像地址web
npm config set registry http://168.20.20.57.4873
而后在终端执行登陆命令,输入用户名、密码、邮箱便可登陆vue-router
npm login
接着发布库资源到npmvue-cli
npm publish
最后发布成功可到官网查看对应的包并下载npm
npm install package_name