verdaccio是一个npm的代理工具,可以将私有的npm包发布至上面,提供权限控制的功能;也可以缓存下载的npm包,以加快再次下载的速度
github: github.com/verdaccio/v…
**目的:**一些公共的组件,service,或utils上传到npm。供各个项目使用。 如netwayapi ,witenssapi, bmsapi等。 建立verdaccio的意义在于,提高不同的前端项目之间的代码复用率 对于单个项目而言,MVVM框架、CSS预处理器的使用可以增强该项目的模块化程度,多次使用到的代码可以作为公共模块抽离出来 然而对于多个项目来说,可以维护私有的npm公共模块、上层项目框架,增强代码复用,减少开发人员的重复劳动和出错机会
本地如何下载和使用私包?
安装nrm,添加verdaccio作为可选的npm源
切换至verdaccio源,登录dev账号即可使用 npm install @xzfe/* 下载指定的私包,亦可使用scope限制@xzfe以下的包使用该账号登录
Jenkins构建
前端项目在jenkins构建过程中,需要执行npm install,为了防止私仓被外部人员使用、保护代码安全,需要先登录预设的deploy账号
在docker build的过程中,使用node-pty编写应答npm login的prompt的脚本,可实现自动登录
登录deploy账号后,即可获取下载权限,安装存储在verdaccio上的依赖