开发Vue组件并发布到npm仓库

因业务需求,部分功能组件需要在多个项目中使用,为了避免直接复制代码,所以开发组件之后发布到npm仓库

步骤:

1:考虑以后也可能需要开发组件,所以我这边新建一个vue项目

2: 开发组件 

3: 补充配置文件(暴露一个install方法, 目的是后面引入包的时候使用  Vue.use(plugin) 调用,让插件注册到全局。)

注: 创建package文件夹是考虑以后继续开发组件方便管理。 我创建的包的文件夹是liekkasTable, 新增文件需要放在package目录下

index.js

// 引入分页组件文件
import liekkasTable from "./liekkasTable/liekkasTable.vue"


const coms = [liekkasTable]; // 将来如果有其它组件,都可以写到这个数组里

// 批量组件注册
const install = function (Vue) {
    coms.forEach((com) => {
        Vue.component(com.name, com);
    });
};
export default install; // 这个方法以后再使用的时候可以被use调用

4:组件打包

在package.json文件中新添加一条打包命令

"package": "vue-cli-service build --target lib ./src/package/index.js --name liekkas-table --dest liekkas-table"

打包命令解释:

  • --target lib 关键字 指定打包的目录
  • --name 打包后的文件名字
  • --dest 打包后的文件夹的名称

然后执行打包命令 

npm run package

 打包完成之后项目目录中会多一个liekkas-table文件夹

 

4: 发布包到npm

  4.1: 进入liekkas-table文件夹下初始化一个package.json (进入liekkas-table目录,执行命令)

npm init -y

注: version为1.0.1是因为我更新了一个版本,init之后默认是1.0.0。 description 是包的版本描述

  4.2:设置npm源(可能本地的npm镜像源采用的是淘宝镜像源或者其它的,如果想要发布npm包,我们得吧我们得npm源切换为官方的源)

npm config set registry=https://registry.npmjs.org

  4.3:进入liekkas-table目录。添加npm账号(没有账号直接先去npm官网注册一个账号)

npm adduser

4.4: 按照要求填写用户名、密码、邮箱等等之后,执行命名发布npm

npm publish

之后就可以去npm官网查看自己的发布的npm包

5:使用npm包

  5.1:执行安装命令

npm i liekkas-table

  5.2:在main.引用注册

 

然后就可以正常用组件啦

6: 更新npm包

 修改完成之后,执行命令

npm version patch
npm publish

npm version后面参数说明:

patch:小变动,比如修复bug等,版本号变动 **v1.0.0->v1.0.1**

minor:增加新功能,不影响现有功能,版本号变动 **v1.0.0->v1.1.0**

major:破坏模块对向后的兼容性,版本号变动 **v1.0.0->v2.0.0**

  

 

posted @ 2023-03-09 18:29  收破烂的小伙子  阅读(321)  评论(0编辑  收藏  举报