npm运行时配置文件|.npmrc文件示例

1,189 阅读4分钟

你是否注意到nodejs项目中有七种rc点文件,如.npmrc,.babelrc ,在一个项目中。

在本教程中,通过以下内容了解npmrc的内容

  • 创建npmrc文件
  • 如何添加注册表和范围内的多个注册表
  • npm config set,get list
  • npmrc authtoken配置
  • npmrc文件在windows中的位置
  • 如何创建一个npm运行时配置
  • npmrc样本文件示例
  • 在nodejs中解析rc文件

例如,我们在不同的应用程序中有不同的rc文件:

.npmrc .babelrc .netrc .vuerc .yarnrc

npmrc点文件

.npmrc是一个npm运行时配置文件,它包含了与nodejs项目以及应用程序相关的以下内容。这将被npm命令使用,以根据配置的设置运行

  • 环境变量
  • npm注册表配置
  • auth配置

通常你可以向npm命令传递命令行选项。这是一个命令级别。

假设你想改变npm安装命令的loglevel。

npm install  primeng --loglevel silent

同样的上述命令级选项可以通过在npmrc文件中放置loglevel来代替,如下所示

loglevel=silent

同样地,我们可以在这个文件中配置不同的设置。npmrc文件可以创建为

  • 全局
  • 操作系统用户
  • 应用级rc文件是unix操作系统中一个模块或一个项目的配置设置。

你可以列出npmrc文件的内容

你可以通过以下方式更新npmrcnpm config set command

npm config set author.name "John"
npm config set author.email "John@cloudhadoop.com"

配置设置可以被检索到npm config get command

npm config get author.name 
npm config get author.email 

.npmrc文件可以被配置为有environment variable

.npmrc文件在Windows和MAC中的位置

在Windows中,让我们看看文件位置的路径

.npmrc文件在windows中为nodejs的全球安装创建,其位置如下

C:\Users\{username}\AppData\Roaming\npm

如果你想让设置应用于登录的操作系统用户级别,你可以找到以下位置

C:\Users\{username}\.npmrc 

npmrc的另一个位置将在安装nodejs设置时被创建。

C:\Program Files\nodejs\node_modules\npm\

另外

你也可以使用以下命令在任何操作系统上检查npm的位置

 npm config ls -l

如何创建npmrc文件

你可以使用以下方法创建npmrc文件

  • 使用任何编辑器手动创建
  • npm登录命令

.npmrc 文件内容可以类似于 的文件格式ini

改变npm安装命令输出的日志级别

npm安装命令会给控制台提供很多有用的信息。

这可以通过命令行的日志级别设置或npmrc日志级别设置来控制。

npm install lodash --loglevel silent

你可以用命令来设置更新日志级别

npm config set loglevel="silent" 

这将在npmrc文件中更新以下条目

loglevel=silent

还有其他的loglevel 设置,如silent,http,warn,info,errorsilly
npmrc环境变量

npm config命令有一个set命令,用于设置以下代理网址的值

  • http-proxy
  • https-proxy
  • 代理详细信息
npm config set http-proxy http://username:password@domain:port
npm config set https-proxy http://username:password@domain:port
npm config set proxy http://username:password@domain:port

npmrc多个注册库

注册是一个开源的javascript npm库库房,可以被依赖的应用程序用户使用。

nodejs使用npm包的默认注册表来下载依赖。

你可以用下面的命令创建一个自定义的范围包。

npm config set @cloudhadoop:registry http://npm.cloudhadoop.com

你可以在npmrc文件中创建和配置多个注册表。

下面是一个代码,用于npmrc multiple registry example

registry=https://registry.npmjs.org/
@cloudhadoop:registry=http://npm.cloudhadoop.com

npmrc auth token

有时,我们想添加 auth token 来授权范围模块的注册。

例如,fontawesome有免费和授权版本。

免费版可以直接下载,不需要auth token。

但对于授权版本,你需要提供auth token,这是一个安全密钥。

所以你不能直接在npmrc文件中进行配置

首先,为auth_token创建一个环境变量

export $AUTH_TOKEN=123

接下来运行下面的命令

@fontawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=$AUTH_TOKEN

授权令牌将不会被提交到git仓库。

你也可以在.env文件中添加,如果你在你的项目中使用env文件,这些文件不会提交给git,因为这些文件默认添加在.gitignore中。

nodejs中的npmrc解析器

像json文件一样,有多个库来解析rc文件。

有一些npm库,如rc库,用于解析javascript代码。

npmrc样本文件示例

让我们看看一个sample npmrc file

评论总是以#; 开始,这将被npm命令所忽略。

# configure auth token
@fontawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=$AUTH_TOKEN

#Default registry
registry=https://registry.npmjs.org/
#scoped registry
@cloudhadoop:registry=http://npm.cloudhadoop.com

;log level settigns
loglevel=warn

总结

在本教程中,你学到了npmrc文件和nodejs项目中的例子。