keepAliveTimeout and timeout
timeout: 全局的超时时间
keepAliveTimeout: 保活的超时时间
如果在 keepAliveTimeout 内触发保活, timeout 则会重置。
如果是之外的话,timeout 继续累加,直到超时。
在 npm 中配置多个私有仓库和公共仓库
在npm中配置多个私有仓库和公共仓库可以通过编辑项目根目录下的 .npmrc
文件或者设置环境变量来实现
方法一:编辑.npmrc
文件
- 在项目根目录下创建或编辑一个名为
.npmrc
的文件。 - 在
.npmrc
文件中,使用registry
配置项指定公共仓库和私有仓库的URL。例如:
# 公共仓库
registry=https://registry.npmjs.org/
# 私有仓库1
@scope1:registry=https://registry.scope1.com/
# 私有仓库2
@scope2:registry=https://registry.scope2.com/
在这个例子中,scope1
和scope2
是私有仓库的命名空间,它们分别指向不同的私有仓库URL。公共仓库使用默认的https://registry.npmjs.org/
。
- 如果需要为私有仓库配置身份验证,可以在
.npmrc
文件中添加authToken
或username
和password
。例如:
# 私有仓库1的认证信息
@scope1:_authToken=your_auth_token_for_scope1
# 或者
@scope1:username=your_username_for_scope1
@scope1:password=your_password_for_scope1
方法二:设置环境变量
你还可以通过设置NPM_CONFIG_REGISTRY
环境变量来配置公共仓库和私有仓库。例如,在命令行中执行以下命令:
# 设置公共仓库
export NPM_CONFIG_REGISTRY=https://registry.npmjs.org/
# 设置私有仓库1
export NPM_CONFIG_REGISTRY_SCOPE1=https://registry.scope1.com/
# 设置私有仓库2
export NPM_CONFIG_REGISTRY_SCOPE2=https://registry.scope2.com/
对于需要身份验证的私有仓库,你可以设置NPM_CONFIG_AUTH_TOKEN
、NPM_CONFIG_USERNAME
和NPM_CONFIG_PASSWORD
环境变量。
注意:在使用环境变量配置私有仓库时,你可能需要在命令行中使用npx
来运行npm命令,例如:npx npm install @scope1/package-name
。
这样,你就可以在npm中配置多个私有仓库和公共仓库了。在安装依赖时,npm会根据包名的命名空间自动选择对应的仓库。
npmrc 中添加 authToken
在 .npmrc
文件中,@scope1:_authToken=your_auth_token_for_scope1
和 //@scope1:_authToken=your_auth_token_for_scope1
这两种写法确实有区别。
区别说明
-
不带前缀斜杠的写法:
@scope1:_authToken=your_auth_token_for_scope1
这种格式在较新版本的 npm 中被视为过时的语法,可能在某些情况下仍然有效,但不是推荐的写法。
-
带前缀斜杠的写法:
//@scope1:_authToken=your_auth_token_for_scope1
这是当前 npm 推荐的标准写法,表示为特定作用域设置身份验证令牌。
推荐用法
npm 官方推荐使用带有双斜杠前缀的格式,即:
//@scope1:_authToken=your_auth_token_for_scope1
这种格式明确指定了作用域的身份验证信息,更加清晰,也是当前 npm 客户端优先识别的格式。
在实际使用中,建议始终使用带双斜杠前缀的格式,以确保配置能够在所有 npm 版本中正确工作。