NPM依赖管理最佳实践
npm dependency management best practices
我是节点社区的新手。我最近加入了这个团队,这样我就可以为一个已经开发了好几年的复杂web应用程序构建一个版本。我的构建中的两个关键工具是Grunt和Browserify,但应用程序也使用了jQuery、Backbone、d3和其他一些库和插件。
我遇到的一个问题是:默认情况下,当我用npm安装并保存一个包时,它会用一个semver表达式来设置这个包,当你运行npm update
时,它会捕获这个包的所有未来版本。正如本文所解释的那样,这一开始看起来似乎是一件好事("给我这个包和所有未来的升级"),但它将您自己的应用程序暴露给包维护者所做的任何非向后兼容的更新……这篇文章还提供了一些推荐的最佳实践,但它写于4年前;我希望有其他的,更新的想法。
你用什么方法来解决这个问题?我不能每次在我所依赖的库中进行重大更改时都浪费时间更新我的软件。我想在我准备好了的时候更新,而不是在我运行npm update
的时候。
使用npm shrinkwrap保存包含确切版本的依赖树,所以当你npm install
时,它会使用这些确切的版本。
npm outdated
命令会告诉你哪些包是过时的。
用npm install <pkg>@<version> --save
npm update
,更新特定的包
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何访问声音管理器2创建的声音对象
- JS编译器/包管理器,用于版本控制
- 在localhost Dev Box上测试JSONP请求的最佳方式
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 让Webpack管理Quirky AMD定义的最佳方式
- 使用相同代码管理多个HTML的最佳方式
- 在我的代码中管理大量硬编码数据的最佳方法
- Polymer 1.0:管理简单项目列表的最佳实践
- 为相对静态的网站部署内容管理系统的最佳方式
- 主干 + 木偶 - 模型/集合的内存管理最佳实践
- 从 Java 管理动态 JavaScript 的最佳实践是什么?
- 在Firebase中管理聊天频道的最佳方式
- 在JavaScript/jQuery中管理用户列表的最佳方法是什么
- 管理Javascript代码的最佳方法是什么?
- 如何管理HTML元素属性,最佳实践
- Titanium:管理用户设置的最佳方式
- 在Javascript中管理内存变量的最佳方法是什么?
- JavaScript:管理/添加动态内容和页面加载的最佳方法
- NPM依赖管理最佳实践