那些平时很少用的npm配置

2024-07-05 15:20:17 浏览数 (3)

一、在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中配置后,就不需要再拉取依赖的时候进行身份验证了

0 人点赞