vue3编写组件库发布到npm的过程

本文详细介绍如何在Vue项目中创建并配置自定义组件库,包括文件结构调整、组件注册、打包配置及npm发布流程,帮助开发者高效管理和分享自定义组件。

一、 将src文件夹改成examples文件夹 改变后项目无法运行 需要在项目根目录新建vue.config.js文件
并加入如下配置

module.exports = {
pages: {
index: {
entry: ‘examples/main.js’,
template: ‘public/index.html’,
filename: ‘index.html’
}
}
}
二、在根目录中建文件夹packages 在该文件夹中编写自己的组件 结构如下
以myBtn组件为例
三、 在button文件夹中的index.js中写入一下代码
import myBtn from ‘./src/myBtn’
// 为组件提供 install 安装方法,供按需引入
myBtn.install = function (Vue) {
Vue.component(myBtn.name, myBtn)

}
// 默认导出组件
export default myBtn
四、在packages下的index.js中写入如下代码
import myBtn from ‘./button/index’
const components = [
myBtn
]
const install = function(Vue) {
// 判断是否安装
if (install.installed) return
components.map(component => {
Vue.component(component .name, component )
})
// 判断是否是直接引入文件
if (typeof window !== ‘undefined’ && window.Vue) {
install(window.Vue)
}
}
export default {
// 导出的对象必须具有 install,才能被 Vue.use() 方法安装
install,
// 以下是具体的组件列表
myBtn
}
五、图中lib文件夹为打包生成,在package.json中加入以下配置即可
name为组件库名称
六、packages文件夹要在配置文件中配置成默认加载的文件夹,这时vue.config.js完整配置如下
在这里插入图片描述
add(__dirname + ‘package’) 中的dirname不能忽略 不然启动会报错
七、准备发包了 完善package.json文件配置如下
在这里插入图片描述
本文中的文件名称 读者可按照自己的需求更改
之后运行 npm login 登录npm 后,然后输入npm who am i命令如果出现自己的账号名称,证明登陆成功了, 即可用 npm publish 发包了 发布成功后 在需要使用组件的项目中使用npm install 包名称 即可 这里的包名称为wjwui
八、使用组件包
在main.js中 引入文件
import 包名称 from 包文件夹 // 此例为 import wjwUI from ‘wjwui’
// 在vue中使用
Vue.use(wjwUI )
之后即可在页面中直接使用自己的组件了
在这里插入图片描述
使用
在这里插入图片描述
此过程只为参考 具体组件需读者根据需求封装

Vue 3封装的组件发布npm库,可按以下步骤进行: ### 编写组件 使用Vue 3编写好要封装的组件。 ### 编写package.json配置文件 这是发布npm库的关键配置文件,以下是一个示例: ```json { "name": "vue3-video-h", "version": "0.0.3", "description": "vue3自定义视频播放器", "main": "lib/index.umd.js", "module": "lib/index.es.js", "style": "lib/style.css", "types": "lib/index.d.ts", "files": [ "lib" ], "scripts": { "dev": "vite", "build": "vue-tsc --noEmit && vite build", "preview": "vite preview" }, "dependencies": { "less": "^4.1.3", "less-loader": "^11.1.3", "loader": "^2.1.1", "path": "^0.12.7", "vite-plugin-compression": "^0.5.1", "vite-plugin-dts": "1.4.1", "vue": "^3.2.47", "vue3-video-h": "^0.0.2" }, "devDependencies": { "@types/node": "^20.3.3", "@vitejs/plugin-vue": "^4.1.0", "typescript": "^5.0.2", "vite": "^4.3.9", "vue-tsc": "^1.4.2" }, "directories": { "lib": "lib" }, "keywords": [ "vue-video", "vue3-video-h", "vue3", "vue3-video" ], "author": "Huang", "license": "MIT", "homepage": "", "repository": "https://gitee.com/Huangxianlong11/vue-plugin/tree/master/customVideo" } ``` 在这个配置文件中,需要注意以下关键信息: - `name`:组件库的名称,需保证在npm上唯一。 - `version`:版本号,遵循语义化版本规则。 - `main`:指定组件库的主入口文件。 - `scripts`:定义了开发、构建等脚本命令。 - `dependencies` 和 `devDependencies`:分别列出生产环境和开发环境依赖的包。 ### 构建组件 运行构建命令,将组件编译打包。在 `package.json` 中定义了 `build` 脚本,可使用以下命令进行构建: ```bash npm run build ``` ### 登录npm账号 在命令行中使用以下命令登录npm账号: ```bash npm login ``` 按照提示输入用户名、密码和邮箱进行登录。 ### 发布npm库 登录成功后,在项目根目录下运行以下命令将组件发布npm库: ```bash npm publish ``` ### 注意事项 - 确保组件名称在npm上是唯一的,避免与已有包冲突。 - 每次发布新版本时,需要更新 `package.json` 中的 `version` 字段。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值