在单个文件中写入多个 Angular 组件是否可以?

Is it ok to write multiple Angular component in a single file?

我将要编写一个通用 Angular 模块,它可以在我的应用程序中用作即插即用模块。

我想要的

我想将模块定义及其所有工厂、指令、常量放在一个 js 文件中,示例:

angular.module('commonModule', [])
.factory(...)
.directive(...)
.constant(...)

为什么因为

每当开发者想要使用我的模块时he/she只需要调用一个单独的js文件并且只需要在他们的模块中注入我的模块。

我的问题是什么

我看过John papa's Angular 1 good practice style guide,他说在一个文件中定义一个单一的组件很好,但是我在这里做相反的事情,我该怎么办?

分开。就是这样,而不是其他。

单独保存组件是编程世界中的最佳实践之一。不管你现在代码行少,后面的代码都会增加。从一开始就这样做,你培养了一种有文化的编程学科。在规则中提出一堆例外是不好的做法,比如 "if I have few lines of code I can write all components of my app in one single file"。它使规则和遵守规则的可能性变得更加复杂。

Whenever a developer wants to use my module he/she just need to call a single js file and just need to inject my module in their module.

正确。对于消费者来说,在 his/her 项目中只包含一个文件非常方便。但是不利于代码维护。因此,只需使用任何 JS 捆绑器将所有依赖项连接到一个结果文件中,这样消费者就可以将它注入到他们的模块中。