项目中的公共组件和 npm 仓库的区别:
- 公共组件组内开发都可以改,改完不一定经过所有的测试项,有不兼容的风险
- 公共组件有可能会被多次粘贴复制,造成代码冗余
- npm 仓库可以确保只有少数熟悉业务的几人可以修改,避免兼容风险
对于大部分公司来说,并不需要部署一个完整的 npm 仓库在服务器上,但部署几个适合业务的组件依赖却是需要的。下面就是基于Verdaccio 部署一个 npm 仓库
前期准备
云服务器 ubuntu
操作系统小白最好是有一台云服务器,因为你可以有很多种选择,比如宝塔,centos7,ubuntu 安装等;不合适的话可以一键重装系统。
服务器相关
进入终端和重装系统
安装 nodejs / npm
sudo apt install nodejs
sudo apt install npm
安装 npm 可能会因为源的问题很慢,可以设置国内源
sudo sed -i 's/http:\/\/mirrors.tencentyun.com\/ubuntu\//http:\/\/mirrors.aliyun.com\/ubuntu\//g' /etc/apt/sources.list
安装verdaccio
用来部署 npm ,非常方便
sudo npm install -g verdaccio
启动verdaccio
终端写入verdaccio 会有以下信息,表示启动成功了
查看在线的 npm 仓库
进入 http://服务器 ip:4873 就可以查看;但是现在没有暴露 4873 端口没办法看到
暴露 4873 端口
修改verdaccio 配置文件
在第四步的第一个 info 中找到配置文件,,找到 listen 打开
现在进入 http://your ip:4873 就可以看到
本地推包
注册用户
npm adduser --registry http://你的ip:4873/
发布
npm publish --registry http://你的ip:4873/
推包成功
下载依赖
npm install commonjs --registry http://你的ip:4873/
总结
学习部署私人 npm 仓库是非常有必要的,业务的深入和扩大公共组件不可能满足要求,这个时候把公共组件部署到 npm 仓库中成为依赖可以避免组件被影响