前端如何在私人服务器上部署npm仓库

132 阅读2分钟

项目中的公共组件和 npm 仓库的区别:

  1. 公共组件组内开发都可以改,改完不一定经过所有的测试项,有不兼容的风险
  2. 公共组件有可能会被多次粘贴复制,造成代码冗余
  3. 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 仓库中成为依赖可以避免组件被影响