Vue组件库发布到npm详解


Posted in Javascript onFebruary 17, 2018

制作了一套自己的组件库,并发布到npm上,项目代码见https://github.com/hamger/hg-vcomponents

前期准备

  • 有一个npm账号
  • 安装了vue-cli

搭建项目

vue init webpack hg-vcomponents
cd hg-vcomponents
cnpm install

目录结构

- vue-flag-list
  + build
   + dist // 存放发布到npm的代码
   - src
     - components // 存放组件源代码 和 README.md
      - arrows
         arrows.vue
         README.md
       - round
        round.vue
         README.md
      index.js // 组件导出文件
    - examples // 存放组件的 demo
      arrows.vue
       round.vue
       index.vue // 组件 demo 的入口
     - router
       index.js // 引入 examples 下的组件,并配置路由
     App.vue
     main.js
   ...

内部代码详见 GitHub,如果对你有所帮助,给个star吧 。

项目配置

为了使项目能上传到npm上,需要配置一些地方。

build/webpack.base.conf.js

entry: {
  app: process.env.NODE_ENV === 'production'
   ? './src/components/index.js' // 生产模式下导入文件
   : './src/main.js' // 开发模式下导入文件
},

package.json

"private": false, // 因为组件包是公用的,所以 private 为 false
"main": "dist/hg-vcomponents.min.js", // 导出文件名,即 import 引入的文件

.gitignore

dist文件夹下文件是要导出的文件,所以在.gitignore文件中把dist/去掉,这样上传代码的时候也会更新打包后的文件。

开发与生产

由于配置了webpack.base.conf.js,使得项目的开发与生产独立开来。

使用npm run dev进入开发环境,就可以看到组件的demo,方便调试。使用npm run build打包组件库。

发布到npm

在你登录了npm的情况下,在根目录输入命令行(每次更新代码执行同样操作)

npm version patch
npm publish

大功告成!现在你可以在其他地方使用npm install hg-vconponents下载自己写的组件库了。

Javascript 相关文章推荐
JavaScript 实现模态对话框 源代码大全
May 02 Javascript
Javascript JSQL,SQL无处不在,
May 05 Javascript
JQuery操作tr和td内容的方法实例
Mar 06 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
JS动态改变表格边框宽度的方法
Mar 31 Javascript
js代码实现点击按钮出现60秒倒计时
Jan 28 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
Dec 01 Javascript
微信小程序页面滑动屏幕加载数据效果
Nov 16 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
Vue.js实现开发购物车功能的方法详解
Feb 22 Javascript
JavaScript中变量提升和函数提升的详解
Aug 07 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 #Javascript
JavaScript中严格判断NaN的方法
Feb 16 #Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 #Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 #jQuery
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 #jQuery
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 #jQuery
浅谈实现vue2.0响应式的基本思路
Feb 13 #Javascript
You might like
php桌面中心(二) 数据库写入
2007/03/11 PHP
PHP 采集心得技巧
2009/05/15 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
Python实现备份文件实例
2014/09/16 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
Django实现自定义404,500页面教程
2017/03/26 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
英国皇家邮政海外旗舰店:Royal Mail
2018/02/21 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
总监职责范文
2013/11/09 职场文书
水务局局长岗位职责
2013/11/28 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
小学班干部竞选演讲稿
2014/04/24 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
大专生找工作自荐书
2014/06/10 职场文书
博士生专家推荐信
2014/09/26 职场文书
民间个人借款协议书
2014/09/30 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis