vue发布插件到npm源

注册npm
创建vue空项目
创建一个基于element的组件,如count.vue文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35<template>
<div class="count">
<el-button @click="setVal(-1)" type="primary">-</el-button>
<span class="val">当前值:{{countVal}} </span>
<el-button @click="setVal(1)" type="primary">+</el-button>
</div>
</template>
<script>
import { ref } from 'vue'
export default {
name:'count',
setup(){
const countVal = ref(100);
const setVal = val=>{
countVal.value +=val;
}
return {
countVal,
setVal
}
}
}
</script>
<style scoped lang="less">
.count{
display: inline-block;
background-color: #ccc;
.val{
color: red;
margin: 0 10px;
}
}
</style>创建一个入口文件,用于集成所有组件
1
2
3
4
5
6
7
8import Count from './components/count.vue';
const components = [Count];
const install = Vue=>{
components.forEach(item=>{
Vue.component(item.name,item)
})
}
export default install;
修改package.json文件配置
main为指向打包后的文件js;
name用于发布npm后,使用时import name from [来源的文件地址便是package.json打包时的文件名];
version打包发布时的版本号,需要注意npm发布时不允许重复提交同一个版本号,所以每次修改都需要修改一次版本号;
private:false,private是true的时候不能发布到npm,需设置成false
1 | "main": "dist/build.js", |
vue3.x在package.json中配置打包命令
vue-cli-service build –target lib [集成所有组件的入口文件] –dest [打包后的文件夹名称] –name [打包后入口文件名]
1 | "scripts": { |
vue2.x最后修改webpack.config.js
1 | const env = process.env.NODE_ENV; |
发布NPM
- 使用npm run build打包项目
- 首次运行npm login登录npm,会提示输入个人信息,Email是发布成功后,自动给这个邮箱发送一个邮件,通知发布成功,输入完,登录成功
- 运行 npm publish,发布成功。
- 自动给这个邮箱发送一个邮件,通知发布成功
使用
发布成功后,在npm网站上package中可以看到自己的发布的npm包
1 | import { createApp } from 'vue' |
sVueComponents基于element,所以需要在use(elementPlus)后再使用sVueComponents
sVueComponents如果有自定义的样式,使用import ‘s-vue-components/dist/app.css’;此时s-vue-components可代表项目根目录
异常处理
- npm publish时,可能出现报错,大概意思是没有权限提交。造成的原因是当前插件的名字(package.json中的name值 )与现有平台的插件名字出现重复,当前无法提交。需要修改package.json中 name值,直到没有重复的名字即可
- 本文标题:vue发布插件到npm源
- 本文作者:邵预鸿
- 创建时间:2021-06-30 16:27:01
- 本文链接:/images/logo.jpg2021/06/30/vue发布插件到npm源/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!