手把手教会你如何搭建企业npm私有包,轻松管理封装组件

手把手教会你如何搭建企业npm私有包,轻松管理封装组件_第1张图片

如果公司处于隐私保护的目的,不想将封装的包推到npm社区,但是又急需一套完整的包管理工具来管理很多的封装组件,以方便公司内部人员使用,那么创建一套私有的npm仓库就很有必要。


必要性:

如果公司处于隐私保护的目的,不想将封装的包推到npm社区,但是又急需一套完整的包管理工具来管理很多的封装组件,以方便公司内部人员使用.创建一套私有的npm仓库很有必要。

注:创建私有仓库还可以存着一些常用的npm包,相比npm和淘宝镜像的cnpm,私有仓库安装依赖的速度更快.使用企业npm包的项目即使代码泄露,在无法连接内网的情况下项目也无法运行。

安装过程

安装环境:

centos服务器,nodejs,pm2,nginx。

搭建过程:

使用SecureCRT进入服务器

1.安装node.js

2.安装verdaccio

npm install -g verdaccio --unsafe-perm

注:加上--unsafe-pern的原因是防止包grywarn权限错误

3.修改配置文件config.yaml,在最后添加监听的端口,端口可修改

listen:0.0.0.0:4873

注:如果不知道config.yaml的路径,可以先直接启动verdaccio,启动日志里面会显示完整路径

warn --- config file  - /root/.config/verdaccio/config.yaml

4.启动verdaccio

verdaccio

5.进程守护

为了防止异常情况引起的verdaccio服务停止,采用nohup或者pm2做进程守护

nohup做进程守护

nohup verdaccio & 

注:nohup是linux自带的不需要安装,如果使用pm2的话需要额外安装

npm install pm2 -g

pm2做进程守护

pm2 start verdaccio  

6.nginx配置域名和代理

如果不想把外网ip和端口暴露出去或者为了提升访问效率使用多台服务器,可以采用nginx配置,

nginx的安装略过。

配置:

server {
    listen 80;
    server_name 'www.example.com';
    loaction /{
       proxy_redirect off;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       if($request_uri ~ "^\/系统一"){
          proxy_pass  serverip:server-port;
        }  
    }
}

到此,安装完成,那么如何使用呢

使用:

1.安装nrm,nrm是一个npm的资源管理器,允许快速的在npm源之间切换

npm install -g nrm 

使用nrm增加私有仓库的源

nrm add exampleName http://www.example.com:8080 

执行nrm ls查看本机的可选源

npm ---- https://registry.npmjs.org/
cnpm --- http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
* exampleName --- http://www.example.com:8080/

注:带星号的代表当前所使用的源可以使用 nrm use name切换不同的源

2.上传,更新组件

再上传之前,需要先增加用户

npm adduser 

如果已经有了账号直接登录

npm login

根据提示输入用户名,密码,邮箱。

初始化npm包

npm init

根据提示输入包名,版本号等等的信息,开发完成,执行下面命令上传发布

npm publish

如需修改,修改完成之后,在次执行npm publish,会自动替换成最新的。

3. 下载使用

nrm -i 组件名  /nrm -i 组件名

使用方式和npm安装的依赖是完全一样的。

你可能感兴趣的:(前端开发,IT管理,npm,npm私有包,管理封装组件)