【发布时间】:2017-09-19 11:12:08
【问题描述】:
我有一个像这样的角度工厂:
myApp.factory('parse', [function () {
var parse = {};
parse.a = {};
parse.a.x = function () { /* ..., call parse.b.x */ };
parse.a.y = function () { /* ... */ };
parse.b = {};
parse.b.x = function () { /* ..., call parse.a.y */ };
/* ... */
return parse;
}]);
通过向parse 添加更多属性,文件变得越来越大。 (目前大约2K行)所以也许是时候拆分成多个文件了。
这里的一个问题是这些函数有一些依赖关系。简单地将parse.a, parse.b, ... 拆分到每个文件中只会导致循环依赖。
如何将此文件拆分为多个?
我更喜欢:
- 最好保留当前界面(或一些镜像修改)
- 按语义按文件分组函数,而不是依赖项(例如,一个文件中的所有
parse.a.*) - 文件不要太多(每个函数一个文件)
【问题讨论】:
-
好吧,如果您的功能彼此如此紧密,拆分它将需要您重新设计您的工厂以采用模块化方法工作。例如,创建具有较小职责的较小组件。现在的方式,如果没有丑陋的解决方法,您将无法拆分它。另外,您的解析器解析是什么?它是否遵循解析架构?
标签: angularjs