打包vue组件包并上传到npm
在自己的项目中新建一个index.js做打包组件的配置
1 import 组件的名字 from "组件的地址"; 2 const comArr = [组件的名字]; 3 export default { 4 install(Vue) { // install是vue中的方法,此方法要在export default中使用 5 comArr.forEach(item => { 6 Vue.component(item.name, item) // item.name就是引入组件中的name属性,所以每个组件都需要name 7 }) 8 } 9 }
在package.json中添加命令并执行npm run package
1 "package": "vue-cli-service build --target lib 配置的index.js地址 --name 组件名称 --dest 打包后的文件夹名称"
在打包后的文件夹中新建package.json文件如下
1 { 2 "name": "yuairflowing", // 名字不能有大写 3 "version": "0.0.1", 4 "description": "", 5 "main": "AirFlowing.common.js", // 打包后的js地址 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "keywords": [ 10 "风流场" 11 ], 12 "author": "yu", 13 "private": false, 14 "license": "ISC" 15 }
注意:如果名字大写会报错如下
npm ERR! code E400
npm ERR! 400 Bad Request - PUT https://registry.npmjs.org/yuAirFlowing - "yuAirFlowing" is invalid for new packages
执行命令npm publish可能会报
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/wind - You do not have permission to publish "wind". Are you logged in as the correct user?
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
原因是和npm上的包重名修改一个package中的name然后重新执行npm publish就可以
发布成功的标志
1 module.exports = defineConfig({ 2 transpileDependencies: true, 3 css: { 4 extract: false 5 }, 6 productionSourceMap:false 7 })
删除发布的组件包
执行命令:npm unpublish 包名 --force
包删除后 24h 内不能再发布同名新的 npm 包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理