npm学习(3)

npm 配置

  1. 优先级从高到低介绍
  2. 命令行标记 --foo bar
    • 设置foo配置的值为bar
    • 如果foo标签后面没有写bar, 默认则是true
    • -flag1 --flag2 -- bar 设flag1,flag2为true, bar则作为命令行参数传入
  3. 环境变量
    • 任何以 npm_config_ 开头的环境变量都会被视为npm的配置参数
    • 环境变量忽略大小写,因此也可以是NPM_CONFIG_
  4. npmrc文件
  5. 默认配置
    • npm config ls -l 可查看所有的配置信息
    • npm config -g(--global) 查看指定的配置项的值
    • npm config -gpld复合命令等价于npm ls --global --parseable --long --loglevel info
  6. package.json 配置项config script,当运行npm时,package中的配置将会覆盖环境中对应的参数配置
  7. npm owner ls <pkgname>查看包的所有者信息,在npm上注册的所有包都可查

npm package-lock.json

  1. package-lock.json不能被发布到npmjs.com
  2. 当package下同时存在package-lock.json和npm-shrinkwrap.json时,package-lock.json将会被忽略。
  3. package-lock出现原因
  • 不同的npm版本对包树结构的生成算法不同
  • 当前依赖的包已经发布了新的版本
    -当前依赖的包的依赖已经发布了新的版本
  • package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。

4.npm-shrinkwrap.json 指的是可发布的lock文件(在开发阶段依赖稳定后使用)

  • shrinkwrap计算时是根据当前依赖安装的目录结构生成的。使用前最好做一次依赖清理与重新安装
  • npm shrinkwrap
  • npm shrinkwrap--dev//将dev-dependencies计算在内
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,127评论 19 139
  • 描述 npm从以下来源获取配置值,按优先级排序: 命令行标记 在命令行上放置--foo bar设置foo配置参数为...
    竹天亮阅读 44,262评论 0 8
  • npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具...
    build1024阅读 7,999评论 0 9
  • 1.npm简介 npm 是 2009 年开始的一个 javascript模块管理工具,也是最流行的代码共享平台之一...
    学不会灬阅读 894评论 0 0
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,281评论 2 36