.npmrc是npm运行时配置文件。简单来说,.npmrc可以在package.json中设置依赖包的安装源。不仅可以从where下载依赖包,还可以配置tokenkey,方便从私有npm仓库拉取安装包;npm、cnpm、pnpm、yarn都是在做一件事情,使用上没有太大区别。据说现在pnpm最好用。在以下操作中,可以使用pnpm代替npm。前提是需要安装pnpm;如果配置在CI/CD中,则不需要使用pnpm,pnpm适合本地开发;什么是CI/CD?其实就是pipeline容器化部署,自动拉取代码,自动打包,自动部署这一套;pnpm安装#全局安装pnpm,说好用就直接npminstall-gpnpm配置文件安装。npmrc优先计算机系统中可能有多个.npmrc文件。当我们安装依赖包时,npm会按照以下顺序读取配置文件,这是优先级;项目配置文件:/project/.npmrc用户配置文件:~/.npmrcglobal配置文件:/etc/npmrcconfiguration.npmrc.npmrc文件以key=value的形式进行配置;1.国内镜像源,国内源极速飞;中文镜像站搜索地址:https://npmmirror.com/registry地址:https://registry.npmmirror.com2.使用私有仓库,阿里云“产品仓库”免费提供私有npm管理(如果使用其他私有操作,基本相同);之所以使用私有仓库,主要是有一些业务封装。从公司安全角度考虑,不能使用公共仓库托管。使用私有仓库不会影响原有的公共源拉取和使用。私有仓库提供商(阿里云效应)已经处理过了。别担心;如果使用私有仓库,但是没有配置凭证,npminstall会报错;#访问链接,可以按照操作步骤操作https://packages.aliyun.com/npm/npm-registry/guide#Settings镜像源相当于在`~/.npmrc`中配置镜像源文件。下面截图第一行是npmconfigsetregistry=https://packages.aliyun.com/******/npm/npm-registry/#登录npm仓库并设置凭证npmlogin#输入阿里云提供的用户名、密码和邮箱后,就相当in了`~/.npmrc`添加了私有访问令牌,下图第二行`_authToken`后面的值为token令牌,请妥善保管//??????/:_authToken=0000-0000000-0000-0000在CI/CD工作流中使用私有包并配置私有仓库后,会在系统主目录下创建.npmrc配置文件“~/.npmrc”,但是如果它在CI/CD中使用的配置文件最好放在项目目录下,项目目录下的配置文件优先级最高;#`请注意:这波操作相当于暴露了你项目目录下的秘钥token,是有安全隐患的`#复制即可,即将创建的配置文件复制到自己的项目目录下cp~/.npmrc/project/Protectyourtoken您的令牌可能有权代表您读取私有包、发布新包或更改用户或包设置;不要将令牌添加到版本控制或以不安全的方式存储令牌;将它们存储在密码管理器、云提供商的安全存储或CI/CD提供商的供应商的安全存储中;#编辑`.npmrc`文件,将`_authToken=`后面的token替换为环境变量//???????/:_authToken=${NPM_TOKEN}#使用`export`声明环境变量exportNPM_TOKEN=0000-0000000-0000-0000#实际开发是每次都导出不太现实,所以需要写一次andforallin`.zshrc`,`.bash_profile`echoexportNPM_TOKEN=0000-0000000-0000-0000>>~/.zshrcCI/CD中配置重点:个人使用基本等于免费使用,还有服务器资源赠送,免费羊毛!网址:https://code-galaxy.net基于Galaxy的pipeline配置如下,如果使用其他CI/CD工具,基本类似;银河学习成本接近于0;1.git-clone,克隆代码;2.depend-install,依赖安装;npminstall-gpnpm--registry=https://registry.npmmirror.com\&&node-v\&&npm-v\&&pnpm-v\&&导出NPM_TOKEN=0000-0000000-0000-0000\&&pnpminstall\&&pnpmrunbuild:dev3,dockerfile-generator,生成Dockerfile;4、build-push-image,生成可部署镜像;
