前端私服 + vue(nexus3配置npm私有仓库)-----已解决
① 私服是什么?私服是在在企业内部服务器搭建一个服务,用来存储前端需要的依赖**②私服用来干什么?现在前端vue、angular、react框架在构建项目时总会用到些依赖,那我们直接通过npm install 去下载的时候访问的是默认好的国外的npm源(即:https://registry.npmjs.org),大家已经深有体会,有时候下载会很慢,甚至下载失败,所以我们有了淘宝镜像(即:https
① 私服是什么?
私服是指在企业内部服务器搭建一个服务,用来存储前端需要的依赖**
②私服用来干什么?
现在前端vue、angular、react框架在构建项目时总会用到些依赖,那我们直接通过npm install 去下载的时候访问的是默认好的国外的npm源(即:https://registry.npmjs.org),大家已经深有体会,有时候下载会很慢,甚至下载失败,所以我们有了淘宝镜像(即:https://registry.npm.taobao.org)。
有同学说那其实用淘宝源就够了,没必要用其他了。
然而,如果我们把前端所需要的依赖项全部存在公司服务器上,每个依赖在初次install的时候会同时存储在公司服务器,以后每次用的时候直接去取,岂不让速度更上一个台阶?
③搭建私服
步骤一: 先配置好nexus3,我们在nexus3上搭建npm私服(我们java同事已经帮忙配置好了nexus3,具体的配置方法可去访问度娘)
步骤二: 配置npm的三个类型 hosted 、proxy 、group
具体配置方法,可参考文章 https://www.cnblogs.com/sanduzxcvbnm/p/13100534.html
④查看当前npm源的地址
npm config get registry
⑤修改npm源的地址
这里以修改为淘宝镜像为例,实际换源需要将地址改为公司私服地址
npm config set registry https://registry.npm.taobao.org
我的应用场景
1、我的状态如下:
使用vue框架构建的项目
已经在开发中期,
项目部署使用的是 JenKins
2、我遇到的问题:
受公司网络影响,不使用私服的话,每次发版都会再次install,
而只要install,node_modules中依赖的依赖就会去请求github上的资源,
这时候会出现构建时间过长 或者构建失败的情况。(构建失败是因为请求GitHub被劫持)
3、我是如何解决的?
首先,按上面的步骤搭建前端npm私服(看上面①②③)
其次,更改本地镜像源地址为公司npm私服地址(修改方法看上面④⑤)
最后,删除项目中的node_modules文件,重新install
此时,你会发现项目中的package-lock.json文件中依赖包的地址变成了公司私服地址
如此一来,以后每次构建项目的时候,Jenkins文件都会重新install,而install的话实际资源是从私服直接获取的
亲测,现在在Jenkins 里构建前端项目时 70s左右就好了(见下图),而且不会构建失败
4、扩展话题: 如何解决公司内网劫持GitHub的问题 ?
第一步:在该网站( http://ping.chinaz.com/github.com ) 找一个响应GitHub 最快的IP,然后copy
第二步:打开本地hosts文件,配置( 配置如下图 )
一般hosts地址在: C:\Windows\System32\drivers\etc\ 中
感谢观看!
有问题可在评论区评论
更多推荐
所有评论(0)