nodejs的dependency.md
dependency和devDependency的区别
package-a
--- package-b (dependency)
--- | --- package-c (devDependency)
--- | --- package-cc (dependency)
--- package-d (devDependency)
--- | --- package-e (dependency)
npm install
后,package-b、package-d、package-cc,package-e 会被安装,其它不会被安装。
npm install --production
后,package-b、package-cc 会被安装。其它不会被安装。
> npm install react --save // 做为 dependencies 安装
> npm install eslint --save-dev // 做为 devDependencies 安装
peerDependencies
package-a
--- package-b (dependency)
--- | --- package-c (dependency)
--- package-c (dependency)
在npm1和npm2中,npm install
后,会有两次package-c的下载和安装。
package-b的package.json,设定peerDependencies为package-c后,会只下载和安装一次package-c。
在npm3中,依赖树扁平化,peerDependencies中声明的依赖不会被npm自动安装,而是输出warning日志。
optionalDependencies
npm install
optionalDependencies指定的包失败后,依然能继续安装。
bundleDependencies(bundledDependencies)
一个包含了包名称的数组,这些包会在发布一起被打包
Bundled dependencies 应该在您的项目中。该功能基本上与正常的dependencies相同。当运行yarn pack时,它们也会被打包
正常的dependencies通常从npm的registry中安装。Bundled Dependencies在正常的dependencies不足的情况下很有用:
当您想重新使用不是来自npm registry或者被修改的第三方库时
当您想重新使用您自己的项目作为模块时
当您想要分发一些文件和您的模块时
实用策略
- 升级到NPM3,保持依赖树扁平化
- 固定模块版本号,不使用
~,^,<,>
这些不确定的版本标识符 - 不用peerDependencies
参考链接:
http://javascript.ruanyifeng.com/nodejs/packagejson.html
https://github.com/SamHwang1990/blog/issues/7
http://yarnpkg.top/DependencyType.html
https://segmentfault.com/a/1190000008398819
最新文章
- iOS常用开发技巧
- java 8种基本数据类型的默认值及所占字节数
- [deviceone开发]-企业OA项目开源分享
- js的Array的map和sort实现方法
- vi/vim初步接触
- How to get URL parameters with Javascript?
- PHP 错误与异常 笔记与总结(4)通过 trigger_error 触发 PHP 错误
- click 绑定(二)带参数的click 事件绑定
- ipad iphone 开发的应用,加一个启动预览图片
- 修改 myeclipse8.5 servlet 模板
- Activity组件的UI实现
- linux之SQL语句简明教程
- 基于opencv在摄像头ubuntu根据视频获取
- jquery跨域请求数据
- iOS开发实战-卫P嗯上网项目
- iOS学习——获取当前最顶层的ViewController
- MVC、MVP、MVVM 模式对比
- oracle ORA-00119, ORA-00132问题解决
- Linux(以centos7为例)下自动挂载NTFS硬盘
- L2-002. 链表去重(数组模拟)
热门文章
- pyspider操作千万级库,pyspider在对接量级较大库的策略
- python 之xml.etree.ElementTree
- ELK学习笔记之F5 DNS可视化让DNS运维更安全更高效-F5 ELK可视化方案系列(3)
- python使用super()调用父类的方法
- Windbg解决系统蓝屏
- P2114 [NOI2014]起床困难综合症(二进制)
- P4316 绿豆蛙的归宿(期望)
- Java泛型中的标记符
- 写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)
- AnswerOpenCV(0826-0901)一周佳作欣赏