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

Why does Ember installs everything as devDependencies instead of normal dependency

Ember CLI 应用程序有一个 package.json 将所有内容列为开发依赖项。甚至应用程序的生产版本中需要的东西。例如 ember 和 ember-data 等包作为 devdependencies 安装。

作为参考,这里是我所说的示例:https://github.com/ember-cli/ember-new-output/blob/master/package.json#L17-L38

这是什么原因?

在应用上下文中:

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

应用程序的输出是 build,这应该是最终产品。此外,您通常不依赖于其他应用程序。你通常依赖于一个包或一个插件。

在插件的上下文中:

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

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