Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS模块应该在自己的文件中吗?_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS模块应该在自己的文件中吗?

Javascript AngularJS模块应该在自己的文件中吗?,javascript,angularjs,Javascript,Angularjs,这个问题相当简单,我似乎找不到确切的答案。当我在一个文件中声明模块时: var module = angular.module("app", ["agGrid", "ngAnimate", "ngSanitize", "ui.bootstrap"]); 我的控制器在另一个: angular.module("app").controller("mainCtrl", ["$scope", "$timeout", "dateFilter", "$http", "shareDataService",

这个问题相当简单,我似乎找不到确切的答案。当我在一个文件中声明模块时:

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) {

这种结构好还是浪费时间和空间?

为每种类型的组件提供单独的文件是理想的。我遵循发展中的结构:

app.js //where the module resides
routes.js //consists of routes
controllers/
services/ 
factories/
filters/
directives/
定义您的模块:

var app = angular.module();
然后使用“app”在单独的文件中声明其他嵌套的js,例如:

app.directive()

但是,在生产中,最好使用task runner(例如gulp)组合所有文件并缩小最终文件。

为每种类型的组件提供单独的文件是理想的。我遵循发展中的结构:

app.js //where the module resides
routes.js //consists of routes
controllers/
services/ 
factories/
filters/
directives/
定义您的模块:

var app = angular.module();
然后使用“app”在单独的文件中声明其他嵌套的js,例如:

app.directive()

但是,在生产环境中,最好使用task runner(例如gulp)组合所有文件并缩小最终文件。

将它们分开是一种很好的做法。这样,您就不会将模块定义和控制器/服务/指令混为一谈

在这里,您可以看到angular js中的一些最佳实践-

而不是在无法打破的水平面上分割应用程序 向上,将代码分组到相关捆绑包中。如果您删除了一个 模块,你的应用程序仍然有效


将它们分开是一种很好的做法。这样,您就不会将模块定义和控制器/服务/指令混为一谈

在这里,您可以看到angular js中的一些最佳实践-

而不是在无法打破的水平面上分割应用程序 向上,将代码分组到相关捆绑包中。如果您删除了一个 模块,你的应用程序仍然有效

单一责任 每个文件定义一个组件

以下示例在同一文件中定义应用程序模块及其依赖项、定义控制器和工厂

避免这种情况 相同的组件现在被分离到它们自己的文件中

这样做

单一责任 每个文件定义一个组件

以下示例在同一文件中定义应用程序模块及其依赖项、定义控制器和工厂

避免这种情况 相同的组件现在被分离到它们自己的文件中

这样做


是的,这是我目前遵循的结构,在一个单独的文件中声明我的模块,并将其用于嵌套文件、服务、控制器等。不过,我一直在阅读一本关于最佳实践的基本但很好的教程(),其中指出更好的结构(用于不断增长的角度项目)是采用模块化结构,因此,用于“登录”的每个依赖项(控制器、服务等)都在同一个文件夹中。是的,对于非常大的项目,基于功能的模块化,即与单独文件夹中的功能相关的控制器、服务等是理想的。是的,这是我目前遵循的结构,在一个单独的文件中声明我的模块,并将其用于嵌套的文件、服务、控制器等。我一直在阅读一篇关于最佳实践的基本但很好的教程(),其中提到一个更好的结构(用于不断增长的角度项目)是一个模块化结构,因此每个依赖项都用于“登录”(控制器、服务等)在同一个文件夹中。是的,对于非常大的项目,基于功能的模块化,即与单独文件夹中的功能相关的控制器、服务等是理想的。谢谢,我将接受这一答案,因为它是确定的!捆绑与切片。我一直讨厌切片。谢谢,我会接受这个答案,因为它是确定的!捆绑与切片。我一直讨厌切片。
// someFactory.js
angular
    .module('app')
    .factory('someFactory', someFactory);

function someFactory() { }