npm组件的封装与发布
一、创建vue项目
npm create vue@latest
测试项目简单设置下就好,我只选了这两项,不选也可以。
二、对应目录创建组件
根目录新建packages文件夹,将初始化项目src下的文件移动至packages文件夹中,并在packages文件夹中新建一个myTest.vue文件
三、修改组件
随便写入一些测试内容,接收父组件传值
四、组件入口文件添加
packages文件夹下新建index.js入口文件
import MyTest from './components/myTest.vue'
const myPlugin = {
install(app) {
// 配置此应用
app.component('MyTest', MyTest)
},
}
export default myPlugin
五、本地引入测试组件测试是否可用
六、配置打包脚本vite.config.js文件
build: {
outDir: 'dist', //输出文件名称
lib: {
entry: path.resolve(__dirname, './packages/index.js'), //指定组件编译入口文件
name: 'vue-test-package',
fileName: 'vue-test-package',
}, //库编译模式配置
rollupOptions: {
// 确保外部化处理那些你不想打包进库的依赖
external: ['vue'],
output: {
// 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量
globals: {
vue: 'Vue',
},
},
}, // rollup打包配置
},
七、打包组件并配置版本文件package.json
npm run build
对当前项目进行打包,打包成功生成dist文件夹;
cd dist
,在dist文件夹下,npm init -y
初始化并生成package.json文件
注意name-不能重名,可以去官方 https://www.npmjs.com/ 搜一下
八、发布到npm
- 没有npm账号先到npm官网注册
- 看下当前环境源地址是哪个,必须是官方源才可以
https://registry.npmjs.org/
- 接下来
npm login
,提示之后回车就会在浏览器提示输入密码,密码会发在邮箱,输入之后就登录成功了。
- 最后一步
npm publish
发布
如果出现以上错误那就是name 重复了,重新改个名字再发布一次。
如图即发布成功~