npm 配置
- 优先级从高到低介绍
- 命令行标记
--foo bar
- 设置foo配置的值为bar
- 如果foo标签后面没有写bar, 默认则是true
-
-flag1 --flag2 -- bar
设flag1,flag2为true, bar则作为命令行参数传入
- 环境变量
- 任何以
npm_config_
开头的环境变量都会被视为npm的配置参数 - 环境变量忽略大小写,因此也可以是
NPM_CONFIG_
- 任何以
- npmrc文件
- 默认配置
-
npm config ls -l
可查看所有的配置信息 -
npm config -g(--global)
查看指定的配置项的值 -
npm config -gpld
复合命令等价于npm ls --global --parseable --long --loglevel info
-
-
package.json
配置项config
script
,当运行npm时,package中的配置将会覆盖环境中对应的参数配置 -
npm owner ls <pkgname>
查看包的所有者信息,在npm上注册的所有包都可查
npm package-lock.json
- package-lock.json不能被发布到npmjs.com
- 当package下同时存在package-lock.json和npm-shrinkwrap.json时,package-lock.json将会被忽略。
- package-lock出现原因
- 不同的npm版本对包树结构的生成算法不同
- 当前依赖的包已经发布了新的版本
-当前依赖的包的依赖已经发布了新的版本 - package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。
4.npm-shrinkwrap.json 指的是可发布的lock文件(在开发阶段依赖稳定后使用)
- shrinkwrap计算时是根据当前依赖安装的目录结构生成的。使用前最好做一次依赖清理与重新安装
npm shrinkwrap
npm shrinkwrap--dev//将dev-dependencies计算在内
网友评论