对于一个公司的项目,如果产品越来越多的话,需要维护和开发的人员也会跟着增加,毫无疑问其中会存在很多相同的模块,如何在各个产品中维护相同的模块,这在协同开发来说也是一件很重要的事。对于前端来说就可以使用npm的私有库来解决
1、私有库
对于私有库搭建,有很多工具:verdaccio、Nexus Repository Manager、Artifactory。本文侧重讲解免费开源的verdaccio
2、安装使用
npm install verdaccio -g
yarn global add verdaccio
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
3、使用
- 在windows运行,默认访问http://localhost:4873/
verdaccio
- 使用nrm添加私有源码,可以参考之前文章juejin.cn/post/714971…
nrm add private http://localhost:4873/
nrm use private
- 初始化个项目
npm init
新增一个index.js文件
console.log('测试');
module.exports = '测试1';
最终需要上传的整个包结构如图所示
- 上传包,如果前面已经使用
nrm切换了registry,就可以直接npm publish,否则执行其他指令都需要在后面添加--registry http://localhost:4873
npm publish --registry http://localhost:4873/
- 新建一个项目去调用
npm init
npm i ceshi
目录结构如图所示:
在项目中新建一个index.js文件,去调用ceshi包里的脚本:
const ceshi = require('ceshi');
console.log(ceshi);
最终输出:
注意:如何去区分各个模块是从那个地址下载的,可以查看package-lock文件
4、作用
- 安全性,可以部署内网集群中
- 加速构建、支持离线安装部署
- 协同开发,版本管理