你是否注意到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,error 和silly
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项目中的例子。