Vue3.0封装组件并发布到npm仓库

由于业务需求,需要将拨号组件封装上传到npm仓库,供其他同学使用

组件封装

因为需要封装多个组件,所以在src下面新建一个package文件用用于存放需要上传的组件在这里插入图片描述
这里我是封装了四个组件,nx-dial、nx-body、nx-recent、nx-record

编写组件代码

例如

<template>
  <div>
    <button>我是测试按钮</button>
  </div>
</template>
<script>
export default {
  name: "pig-button", //组件名
};
</script>
<style scoped>
button {
  width: 100px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}
</style>

然后我们引用到App.vue组件里面验证一下,看是否组件可用

使用Vue插件模式

这一步是封装组件中的重点,用到了Vue提供的一个公开方法:install。这个方法会在你使用Vue.use(plugin)时被调用,这样使得我们的插件注册到了全局,在子组件的任何地方都可以使用。
在package目录下新建index.js文件,代码如下:

import NxDial from "./nx-dial/index.vue"; // 引入封装好的组件
import NxStatus from "./nx-status/index.vue"; // 引入封装好的组件
import NxBody from "./nx-body/index.vue"; // 引入封装好的组件

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

// 批量组件注册
const install = function (Vue) {
  coms.forEach((com) => {
    Vue.component(com.name, com);
  });
};

export default install; // 这个方法以后再使用的时候可以被use调用

使用Vue插件模式

到这里为止,组件封装基本已完成,接下来需要对组件进行打包
修改我们项目得package.json文件,新增一个打包命令

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

输出打包的文件名为nx-cc
打包命令解释:
• --target lib 关键字 指定打包的目录
• --name 打包后的文件名字
• --dest 打包后的文件夹的名称
打包后会出现使用者无法安装的问题,可使用一下方法尝试解决
在vue.config.js的configureWebpack中配置

  configureWebpack: {
    output: {
      library: 'nx-cc',
      libraryTarget: 'umd', // 把子应用打包成 umd 库格式
      //
      chunkLoadingGlobal: 'webpackJsonp_nxcc'
    }
  }

初始化配置文件

打包成功后,使用cd进入对应打包好的文件夹中,需要初始化一个package.json文件,执行命令如下

npm init -y

会生成一个package.json文件

{
  "name": "nx-cc",
  "version": "0.0.1",
  "description": "",
  "main": "nx-cc.common.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

每次发布都需要对version版本进行递增,可手动也可以执行命令进行递增

npm version patch

发布到npm

发布之前,首选需要设置npm源,如果想要发布npm包,我们得把我们的npm源切换为官方得源,命令如下:

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

然后添加npm用户
进入组件目录,添加npm用户,执行命令:

npm adduser

最后执行发布命令,如下

npm publish

如果发布失败可能是名字重复了,改了名字即可,发布成功后,我们即可登录npm官网上查看自己发布得npm包

安装使用

npm正常install引入即可

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue是一种用于构建用户界面的渐进式JavaScript框架,它可以通过封装组件来实现可复用、模块化以及易于维护的代码。下面我将介绍如何对Vue组件进行封装,并将其打包发布npm上供他人使用。 首先,我们需要创建一个Vue项目,并在项目中使用Vue CLI来进行组件的开发和构建。可以通过以下命令创建一个新的Vue项目: ``` vue create my-component ``` 接下来,您可以通过Vue CLI支持的任何方式(如单文件组件JavaScript脚本等)创建自定义组件。在组件的开发过程中,可以利用Vue提供的各种功能和特性,比如计算属性、生命周期钩子函数、模板语法等。确保你的组件功能完备、可复用且易于理解。 完成组件的开发后,我们需要将其打包成可用的npm包。Vue CLI可以帮助我们自动进行打包,只需执行以下命令: ``` npm run build ``` 该命令将生成一个dist文件夹,其中包含了打包后的组件代码。 接下来,我们需要在项目的根目录中创建一个package.json文件,用于描述我们的npm包,并设置一些配置信息。其中,name字段用于定义npm包的名称,version字段用于定义npm包的版本号。其他字段根据您的需要进行设置。然后,执行以下命令将package.json文件拷贝到dist文件夹中: ``` cp package.json dist/ ``` 然后,我们需要登录到npm官方网站,并创建一个账户。接着,使用以下命令进行登录: ``` npm login ``` 在登录成功后,使用以下命令发布npm包: ``` npm publish dist/ ``` 完成上述步骤后,您的自定义Vue组件就已经发布到了npm上。其他开发者可以通过以下命令安装并使用您的组件: ``` npm install your-component ``` 然后,在他们的Vue项目中,可以通过import语句引入您的组件,并在模板中使用它。 至此,我们已经学习了如何封装自定义Vue组件,并通过npm发布,供他人使用。希望这能帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值