为什么AngularJS建议将服务,指令和过滤器放在单独的模块中?

时间:2012-09-19 04:04:25

标签: javascript angularjs

angular-seed-project中,过滤器,服务和指令放在不同的模块中。为什么?为什么不把它们全部放在myApp模块下?

angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives'])

1 个答案:

答案 0 :(得分:4)

引自[1]


“...我们建议您将应用程序分解为多个模块:

  • 服务模块,用于服务声明
  • 指令模块,用于 指令声明
  • 过滤器模块,用于过滤器声明
  • 依赖于上述模块的应用程序级模块 它有初始化代码。

这种分解的原因是在测试中,通常需要忽略初始化代码,这往往难以测试。通过将其放入单独的模块中,可以在测试中轻松忽略它。通过仅加载与测试相关的模块,测试也可以更加集中。

以上只是一个建议,请随意根据您的需要进行定制。“


[1] http://docs.angularjs.org/guide/module