我想知道是否值得用这种方式编写有角度的东西:
(function(angular, module) {
'use strict';
module.controller('MyCtrl', function($scope) {
// possibly use helperFunction here
});
function helperFunction() {
...
}
})(angular, angular.module('myModule'));
或这种方式(使用
App
对象并将应用程序内容放入其中:App = App || {};
App.myModule = App.myModule || angular.module('myModule', []);
App.myModule.controller('MyCtrl', function($scope) {
'use strict'
// possibly use helperFunction here
function helperFunction() {
...
}
});
而不是像这样使用常规方式
angular.module('myModule').controller('MyCtrl', function($scope) {
'use strict'
// possibly use helperFunction here
function helperFunction() {
...
}
});
这是我想到的三种构建应用程序代码的可能方式(不计算requirejs)。我在大多数地方都使用“常规”(最后一种),但是我想知道使用这两种以前的方法是否有任何好处。也许在某些特殊情况下有用时,我不知道。
最佳答案
第一种方法的好处是不会污染全局名称空间,从而降低了名称冲突的风险。如果扩展现有项目或模块将在多个上下文中使用(例如,公共库),则这尤其重要。
我个人更喜欢第三种风格而不是第二种风格。有人可能会说,优化器更擅长于优化非全局代码。