本文介绍了自定义vue组件发布到npm的方法,分享给大家,具体如下:
为什么会有这个想法呢,主要是vue项目中自定义的组件在多个项目中使用。导致修改bug的时候,总是要在项目分支中修改,然后同步到主线上,这样容易导致分支修改后没有同步到主线,慢慢的就会导致组件版本不统一,而导致升级组件很繁琐,最后可能都要去维护多个组件的不同版本,这样不是我们想要的。
所以就打算将组件打包发布到npm上,每个项目中只需要在package.json中修改组件版本即可同步最新版本。
组件发布历程
1、开始对打包不是很了解,只是简单的将原有.vue文件以及相关的css、image资源进行提取,然后放到一个项目下,下面是发布组件到npm的详细步骤:
(1)新建组件项目,通过npm init来初始化一个package.json文件
(2)将提取出来的组件放到项目路径。
(3)在package.json所在目录,执行npm adduser。这里需要注册npm帐号
(4)然后要求输入用户名、密码、注册时填的邮箱。如图:
(5)然后输入npm publish即可。
如果不出以外,组件就已经发布成功了,可以通过npm install xxxx来进行安装了。
2、在使用过程中发现了一些小问题。由于当时在index.js中使用了es6的部分语法(如:数组的map、const),导致在低版本ie中会报错,虽然可以通过修改js来解决。但是作为一个有理想有抱负的码农,这种事情不能忍,因为想element-ui这些组件都是可以将.vue文件打包之后发布的。然后就想着也要弄好了。
3、然后就开始研究怎么能通过import xx from xxx即可实现加载打包后的js。通过查找资料,发现是通过package.json中有个main属性来设置加载js的路径。如图:
4、加载问题解决了,剩下就是打包问题了。由于打包需要一些webpack的配置,所以直接用vue-cli初始化了一个工程,对其中的webpack进行调整。主要是去掉build中打包配置文件webpack.prod.conf.js,这里去掉HtmlWebpackPlugin等。
https://github.com/myGitZone/mapModule 这里是示例,该项目只是一个demo。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 群星《2024好听新歌38》AI调整音效【WAV分轨】
- 台湾荷东《周末狂热1》[WAV+CUE][1.1G]
- 群星《Hi.Fi.怀旧金曲.Vol.1》[低速原抓WAV+分轨][996M]
- 汪峰 白金超精选《生来彷徨2CD》[WAV+CUE][1.5G]
- 孙露《寂寞撩人》限量1:1母盘直刻低速原抓[WAV+CUE]
- 20世纪伟大的钢琴家《盖扎·安达》2CD[WAV分轨]
- 龚玥《微风拂面HQCD》[低速原抓WAV+CUE]
- 群星《新说唱2024 第12期 (上)》[320K/MP3][117.13MB]
- 群星《新说唱2024 第12期 (上)》[FLAC/分轨][626.34MB]
- 彦希《Golden Blue》[320K/MP3][111.78MB]
- 中岛美雪《美雪集原曲流行极品》[正版原抓WAV+CUE]
- 【古典音乐】《最优美的格里格音乐作品》2CD[FLAC+CUE/整轨]
- 中央乐团《春芽(63首世界名曲联奏)》APE
- 彦希《Golden Blue》[FLAC/分轨][587.25MB]
- 群星《我们的歌第六季 第1期》[320K/MP3][90.72MB]