我想到的是,到目前为止我看到的大多数AngularJS(* .js)文件只包含一个模块,模块的名称并不总是与文件名相同。
我想知道,它是否可以通过将多个模块放在一个AngularJS(* .js)文件中来实现。
此外,当网页进行函数调用时,服务器如何找到正确的模块名称?通过以强制方式搜索目录中的每个文件?
答案 0 :(得分:2)
您可以在文件中放置任意数量的模块(尽管不一定是最佳实践)。 Angular知道要加载哪个模块,因为您使用Angular注册每个模块。
angular.module('myModule', [])
这样就不必根据惯例寻找模块了。
答案 1 :(得分:2)
在HTML元素中使用ng-app="yourModule"
在HTML中引用模块名称。在单个文件中包含多个模块根本不是问题。实际上,缩小和混淆过程对生产就绪代码的作用是:将所有Javascript代码合并到一个文件中。
我建议的是:
答案 2 :(得分:1)
是的,可以将多个模块放在一个文件中。您必须在应用程序引导之前注册所有可用模块,否则会出现依赖性错误。 dependency injection上的页面解释了所有内容。
答案 3 :(得分:1)
最好为每个模块声明使用不同的文件。您可以查看以下指南:Angular Style Guide
使用angular.module注册每个模块,并使用定义的模块定义服务,控制器等。
angular.module("myApp", []); // module is registered
angular.module("myApp").service("myService", function(){}); // service is declared for myApp module.