win搭建npm私有库 verdaccio部署
npm注册
https://www.npmjs.com/
注册npm账号
下载verdaiico
下载下载verdaiico注意事项
::: warning 注意
1、首先电脑上要安装nodejs和npm,一般npm是随着nodejs一起安装的,具体的nodejs安装网上有很多安装方法,打开dos窗口执行如下代码:
:::
npm install -g verdaccio --unsafe-perm
如下图所示:
安装是否成功
2、安装完成后如果没有提示错误则表示安装成功,如下图所示:
修改配置文件
3、然后修改配置文件,找到C:\Users\Administrator\AppData\Roaming\verdaccio\config.yaml,如果没有该文件则需要启动一次才会自动创建,如下图所示:
默认位置:
增加外部访问权限
4、然后在配置文件的末尾添加listen: 0.0.0.0:4873,配置此选项则是允许任何外部的所有IP都可以访问到此服务,如下图所示:
配置npm仓库的位置
5、配置npm仓库的位置,找一个位置新建一个目录,如下图所示:
修改 storage
6、找到配置文件的storage选项,然后把仓库的位置填写进去,注意是用斜线,而不是反斜线,如下图所示:
重启 verdaccio
7、然后重新启动verdaccio,如下图所示:
访问 verdaccio
8、然后在另外一台电脑即可打开,如下图所示:
nrm管理npm源
9、安装nrm用来管理npm源,添加和切换很方便,使用npm install -g nrm安装,如下图所示:
成功界面
10、安装成功界面如下图所示:
nrm ls 查看源文件
11、使用nrm ls来查看目前npm有哪些源可以使用,如下图所示:
nrm add localnpm 添加源文件
12、由于电脑的Ip是自动获取的,当电脑重启IP有可能会改变,因此最好需要手动设置一个IP,然后使用nrm add localnpm http://192.168.1.250:4873添加到npm源中,如下图所示:
|
| |
|-------------------------------------------------------------------|–|
| | |
nrm ls 查看源文件
13、然后通过nrm ls来查看有哪些源,带*号的表示目前正在使用的源,如下图所示:
nrm use 切换源文件
14、然后通过nrm use localnpm来切换源,如下图所示,我们就切换到我们刚刚添加的源了:
npm adduser 创建用户
15、然后通过npm adduser来新建一个用户,此时会出现错误,如下图所示:
常见问题
16、出现错误的原因是我们使用的源服务没有启动,这也就表名我们添加的npm源起作用了,在使用npm连接的是我们刚才新添加的那个源,然后启动服务,如下图所示:
重新添加用户
17、然后在次执行npm adduser即可,输入用户名,密码,邮箱即可,如下图所示:
初始化项目
18、然后新建一个项目,使用npm init即可初始化一个项目,如下图所示:
项目增加js文件
19、然后进入到该项目中,随便新建一个js文件,如下图所示:
登录npm
20、首先使用npm login进行登录,同样输入用户名,密码,邮箱验证,如下图所示:
publish项目
21、然后执行npm publish,如下图所示:
查看是否推送成功
22、刷新网页,即可查看到上传的包,如下图所示:
新建项目
23、我们使用ng new hellowold新建一个vue项目,如下图所示:
config.yaml配置文件
24、此时就会从本地源来所需要的包,如果本地源没有会向外网去寻找下载,配置外网的npm是找到config.yaml配置文件找到uplinks,填写上一级npm仓库的地址,如下图所示:
从verdaccio下载包
25、然后从上一级npm下载对应的包到本地仓库,以后再下载就会直接从本地仓库下载,而不需要在从外部服务器下载,如果版本号升级,而本地没有则会自动从外部网络下载的,如下图所示:
verdaccio显示信息
26、verdaccio显示的请求信息如下图所示:
新建项目
27、此时就新建了一个hellowold的vue工程,如下图所示:
查看node_modules
28、此时可以查看工程的node_modules中没有windemo,如下图所示:
添加上传的npm包
29、然后打开package.json,添加windemo以及版本号,如下图所示:
下载上传的npm包
30、运行npm install,如下图所示:
查看node_modules 中下载的npm私有包
31、此时在node_modules即可下载完成,如下图所示:
到此说明verdaccio完全可以使用npm来上传下载,实现私有化npm包部署