相当简单的问题,我似乎无法找到明确的答案。在那一刻我将我的模块在一个文件中声明:
var module = angular.module("app", ["agGrid", "ngAnimate", "ngSanitize", "ui.bootstrap"]);
我的控制器在另一个:
angular.module("app").controller("mainCtrl", ["$scope", "$timeout", "dateFilter", "$http", "shareDataService", "getDataService", function ($scope, $timeout, dateFilter, $http, shareDataService, getDataService) {
这种结构是好还是浪费时间和空间?
答案 0 :(得分:1)
为每种类型的组件提供单独的文件是理想的。我遵循开发中的结构:
app.js //where the module resides
routes.js //consists of routes
controllers/
services/
factories/
filters/
directives/
定义您的模块:
var app = angular.module();
然后使用' app'在其他文件中声明其他嵌套的js,例如:
app.directive()
但是,在制作中,最好使用任务运行器(例如gulp)来组合所有文件并缩小最终文件。
答案 1 :(得分:1)
将它们分开是一种很好的做法。这样,您就不会混淆模块定义和控制器/服务/指令。
这里有一些角度js的最佳实践 -
而不是将您的应用切换到不会被打破的水平线上 up,将您的代码分组到相关的包中。这样,如果你删除一个 模块,您的应用仍然有效。
答案 2 :(得分:1)
为每个文件定义1个组件。
以下示例定义应用程序模块及其依赖项,定义控制器,并在同一文件中定义工厂。
angular
.module('app', ['ngRoute'])
.controller('SomeController', SomeController)
.factory('someFactory', someFactory);
function SomeController() { }
function someFactory() { }
现在,相同的组件被分成了自己的文件。
// app.module.js
angular
.module('app', ['ngRoute']);
// some.controller.js
angular
.module('app')
.controller('SomeController', SomeController);
function SomeController() { }
// someFactory.js
angular
.module('app')
.factory('someFactory', someFactory);
function someFactory() { }