为什么Ember将所有内容安装为devDependencies而不是普通依赖项

时间:2017-02-10 12:14:47

标签: javascript ember.js npm ember-cli package.json

Ember CLI应用程序有一个package.json,它将所有内容列为dev依赖项。即使是应用程序生产版本中需要的东西。例如,ember和ember-data等软件包作为devdependencies安装。

作为参考,以下是我所谈论的一个示例:https://github.com/ember-cli/ember-new-output/blob/master/package.json#L17-L38

原因是什么?

1 个答案:

答案 0 :(得分:5)

在申请环境中:

正如@Lux在评论中提到的那样,在构建之后你不需要它们。

应用程序的输出是构建,它应该是最终产品。此外,您通常不依赖于其他应用程序。您通常依赖于包或插件。

在插件的背景下:

我认为有一种观点可以在应用程序的package.json文件中显示应用程序的所有插件依赖项。通过这种方式,您可以防止插件无意中将js文件添加到构建中。

因此,管理依赖关系的ember方法是将所有依赖项保留在devDependencies,并将该插件的所有依赖项添加到应用程序package.json中,并使用默认值蓝图。所以最终用户可以调整它们。