vue封装组件并发布到npm上的全过程
引言:随着业务的逐渐增多,前端业务线越来越多,需要封装公共组件并发布到npm上,以供所有的项目都可以直接install,不用每次改一个组件,复制拷贝到所有的项目,如果项目特别多,那对于开发人员来说,是一件崩溃的事情,这是我封装组件并发布到npm的全过程的一次记录,希望对其他的开发者有用 1、实现一个国家区号的列表选择框,如果没有可输入 2、初始化一个项目 vue-area-list vue create vue-area-list 我用的是vue3.0版本 3、编写自己所需的插件,实现自己的业务需求 4、src文件夹下新建index.js,来安装自己的组件
import areaListComponent from ./components/area-list const VueAreaList = { install:function(Vue){ if(typeof window !== undefined && window.Vue){ Vue = window.Vue } Vue.component(VueAreaList,areaListComponent) } } export default VueAreaList
5、package.json的配置
"name": "szyh-vue-area-list", "version": "0.1.0", "private": false, "main": "dist/szyh-vue-area-list.common.js", "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "lint": "vue-cli-service lint", "lib": "vue-cli-service build --target lib --name szyh-vue-area-list --dest dist src/index.js" },
6、npm login 7、npm publish 这个的意思是npm 上已经有这个包了,所以换一个包名就可以了
创建 .npmignore文件,排除一些不需要上传的文件 .* *.md *.yml src/ node_modules/ index.html webpack.config.js *.tgz