
历时三天,搞懂vue组件上传npm服务器,并使用组件
发布日期:2021-05-14 20:23:57
浏览次数:21
分类:精选文章
本文共 1710 字,大约阅读时间需要 5 分钟。
npm 如何发布和使用自定义组件
创建组件
首先得搭建一个简单的项目,用 vue init
创建一个基于 webpack-simple
的项目。运行以下命令:
vue init webpack-simple
安装依赖并启动开发服务器:
npm installnpm run dev
接下来,创建你需要的组件文件。我假设创建了 table
和 table-col
两个组件。组件文件的结构大致如下:
├── x-table.vue├── x-table-col.vue└── index.js
在 x-table.vue
中,定义你的组件逻辑,并在 index.js
中将组件导出供使用:
export default { xTable: { install(Vue) { Vue.component('x-table', xTable); } }};
为了方便快捷,建议将所有组件放在同一目录下,在 index.js
中导入并暴露出来:
import xTable from './x-table.vue';import xTableCol from './x-table-col.vue';const components = [xTable, xTableCol];export default { install(Vue) { components.forEach(component => { if (!Vue.component(component.name)) { Vue.component(component.name, component); } }); }};
修改 webpack.config.js
文件,确保正确输出结构:
const NODE_ENV = process.env.NODE_ENV;module.exports = { entry: NODE_ENV === 'development' ? './src/main.js' : './src/lib/index.js', output: { path: path.resolve(__dirname, './dist'), publicPath: '/dist/', library: 'npm-zujiandemo', libraryTarget: 'umd', umdNamedDefine: true }, ...};
最后,修改 package.json
文件,将 private
设为 false
:
{ "private": false, "main": "dist/npm-zujiandemo.js"}
完成代码编写后,运行打包命令:
npm run build
再制作压缩插件包:
npm pack
复制出来的压缩文件可以直接安装到需要的地方:
npm install 组件项目打包后的本地绝对路径和文件全名
安装成功后,引入到项目中:
import npmZujiandemo from 'npm-zujiandemo';Vue.use(npmZujiandemo);
这时候你就可以在 Vue 项目中使用这些自定义组件了。
上传组件
首先,申请一个 npm 账号。进入官方网站注册。
在组件文件目录中登录:
cd /path/to/your/component/directorynpm login
接着发布组件:
npm publish
发布后可以通过 npm search 查找你的组件。
删除包
如果想删除已发布的组件,可以用以下命令:
npm unpublish --force your-component-name
npm 登录报错账号或密码错误
如果登录时遇到问题,删除 ~/.npmrc
文件:
rm ~/.npmrc
这样 npm 会根据默认配置重新读取信息。
整个流程完成!希望这些步骤能帮到你。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月26日 10时24分10秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
解决:angularjs radio默认选中失效问题
2019-03-06
windows环境下安装zookeeper(仅本地使用)
2019-03-06
缓冲区溢出实例(一)--Windows
2019-03-06
Python中字符串前添加r ,b, u, f前缀的含义
2019-03-06
Hadoop学习笔记—Yarn
2019-03-06
JSONPath小试牛刀之Snack3
2019-03-06
Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
2019-03-06
wxWidgets源码分析(3) - 消息映射表
2019-03-06
wxWidgets源码分析(5) - 窗口管理
2019-03-06
wxWidgets源码分析(7) - 窗口尺寸
2019-03-06
wxWidgets源码分析(8) - MVC架构
2019-03-06
wxWidgets源码分析(9) - wxString
2019-03-06
Mybatis Generator最完整配置详解
2019-03-06
[白话解析] 深入浅出熵的概念 & 决策树之ID3算法
2019-03-06
[梁山好汉说IT] 梁山好汉和抢劫银行
2019-03-06
[源码解析] 消息队列 Kombu 之 基本架构
2019-03-06
[源码分析] 消息队列 Kombu 之 启动过程
2019-03-06
[源码分析] 消息队列 Kombu 之 Consumer
2019-03-06
抉择之苦
2019-03-06
wx.NET CLI wrapper for wxWidgets
2019-03-06