最近公司打算将项目中的某个功能单独提取出来做成一个项目,这就需要在一个项目中导入另一个项目,并且是上传到私有库这种方法,如何搭建私有库,参考verdaccio(verdaccio.org/zh-CN/), 下面做一下总结
首先,由于公司的项目是要上传到私有库的,在私有库搭建好以后,需要注册自己账户,命令如下
npm adduser --registry=https://localhost:xxxx
注册完成后,可将本地的项目,上传到私有库,命令如下:
npm publish --registry https://localhost:xxxx
在这里有几点要注意,上传的项目的package.json文件内的private属性要关掉,设置成false,如图,(否则无法上传):
这里还有可能当你上传项目的时候,可能会超过上传最大值(私有库在搭建的时候,如果不特殊处理,一般默认只有1MB)这里两个方法: 首先,通过指令设置本地上传大小,如下:
npm config set max_body_size 100mb --registry https://localhost:xxxx
如果到这里,还是会报上传文件过大的错误,那么就需要找运维重新设置服务器上的max_body_size。
还有一些比较常用的指令,如下
切换源:
npm config set registry http://localhost:xxxx/
查看当前镜像地址:
npm config get registry //获取镜像地址
添加账号:
npm adduser --registry=http://localhost:xxxx/
发布组件或组件库(升级组件库的时候,package.json中配置的版本号必须大于线上版本的,并且,每次上传的时候,版本号必须依次递增):
npm publish --registry <https://localhost:xxxx>
删除组件或组件库:
npm unpublish --force XXXX --registry <https://localhost:xxxx>
如果需要给包简历软链,则需要执行
lerna link
为包之间做链接,这样改其中某个包的时候,node_modules里面的包也会跟着改变