一、在package.json 中可以指定包为本地归档文件,让项目可离线安装依赖和编译
代码语言:javascript复制 "devDependencies": {
"@commitlint/cli": "^9.1.2",
"@commitlint/config-conventional": "^9.1.2",
"@commitlint/prompt-cli": "^9.1.2",
"@tencent/babel-plugin-tea-component": "file:./lib/babel-plugin-tea-component-1.0.2.tgz",
"@tencent/eslint-config-prettier": "file:./lib/eslint-config-prettier-2.0.0.tgz",
"@tencent/eslint-config-prettier-typescript-react": "file:./lib/eslint-config-prettier-typescript-react-2.1.0.tgz",
"@tencent/eslint-config-react": "file:./lib/eslint-config-react-2.1.0.tgz",
|
如上面的代码,在./lib 目录下存放npm包的tgz文件,然后通过 file: 前缀指定包的路径即可
注意:如果包有其他依赖包,且也有离线需求,也需要放到依赖项里然后指定离线文件的位置
二、可以为私有npm仓库单独指定registry 镜像源
代码语言:javascript复制# ~/.npmrc
@tencent:registry=https://mirrors.cloud.tencent.com/npm/
如上面的配置,将 @tencent 下的npm包指向到腾讯镜像源,这样,即使没有修改全局的镜像源地址(即registry=https://xxx.xxxxxx.com/npm/
)我们在安装依赖时,当安装到dependencies依赖项是 @tencent/xxx 开头的包时,也会从腾讯镜像源拉取依赖包
npmrc的配置存在优先级,当我们在多个配置文件中定义相同的键时,npm将按照以下顺序查找和应用配置: 1、项目根目录下的.npmrc文件 2、用户主目录下的.npmrc文件(即上面的 ~/.npmrc) 3、npm内置的默认配置
三、在npmrc 中可以配置不同的镜像源的访问信息(如果镜像源设置了鉴权访问)
代码语言:javascript复制@fm:registry=https://xxx.xxxxxxx.net/npm/
always-auth=true
//xxx.xxxxxxx.net/npm/:username=在npm镜像源管理页面生成的用户名
//xxx.xxxxxxx.net/npm/:_password="在npm镜像源管理页面生成的密码"
//xxx.xxxxxxx.net/npm/:email=zhangsan123@qq.com
在npmrc中配置后,就不需要再拉取依赖的时候进行身份验证了