2015-01-26 57 views
3

我有一个角应用看起来像这样。为什么要使用Angular模块?

file1.js

var app = angular.module('app', ['third-party-stuff-A'] 

file2.js

var app = angular.module('app', ['third-party-stuff-B'] 

所以基本上file1和文件2代表我申请两个不同的页面。

我已经将所有的控制器,服务和其他注射器注册到模块应用程序中,例如。

app.factory('thing', function ($scope) { ... }); 

thing厂是提供给在文件2 file1和应用两个应用程序。

我读过,这是更好的做法,打破东西成模块。应用程序file1和file2应该可能是他们自己的独立模块。 而走,甚至更进一步,也许thing工厂可以去到一个模块中MyFactories。和MyFactories将被注入到我的每个应用程序。

但我不知道直接的好处就是这样做的是什么。

+0

“即插即用”的便携性是一个好处。按功能组织是另一个。 – charlietfl 2015-01-26 19:31:18

+0

我在一些文章中看到,Angular可能会在未来提供延迟加载,在这种情况下模块会分离。 – 2015-01-26 19:33:27

回答

0

大多数applications具有一个main方法和链接到应用程序的不同部分。 Angular应用程序没有主要方法。相反,模块指定应该如何引导应用程序。创建模块的优点是:

  1. 您可以将代码打包为可重复使用的模块。这些模块可以以任何顺序被加载

  2. (或甚至并行),因为模块延迟执行。 查看更多在https://docs.angularjs.org/guide/module

+0

角度模块不提供模块加载,模块相关性和名称空间。为什么不使用requirejs模块呢? – James 2015-05-11 05:30:04