4

在我的 Angular 项目中,我计划为每个页面创建一个单独的 .js 文件,并为每个服务创建一个单独的 .js 文件。

然而,当我开始编写代码时,我意识到我的 index.html 中有很多导入语句。这将导致用户必须加载所有 .js 文件,即使他们可能不需要它。

我的 index.html 的 .js 示例

<!-- JS -->
<script src="js/vendor/angular.js"></script>
<script src="js/app/app.js" ></script>

<!-- controllers --> 
<script src="js/app/controllers/roomController.js"></script> 
<script src="js/app/controllers/dashBoardController.js"></script>

<!-- services --> 
<script src="js/app/services/dashBoardService.js"></script>
<script src="js/app/services/roomService.js"></script>
<script src="js/app/services/chatService.js"></script>
<script src="js/app/services/videoService.js"></script>

有什么解决办法吗?

4

3 回答 3

3

将每个控制器、每个服务、每个指令……放在一个单独的文件中确实是一个最佳实践,因此您以正确的方式进行操作。

但是,正如您所注意到的,用户(以及服务器!)最好下载最少数量的文件。您index.html可以进行开发,但在生产中,您必须将所有文件压缩为一个,通常使用UglifyJSYUI Compressor之类的工具。

于 2013-10-10T19:25:06.647 回答
0

这是一个已知问题,尤其是对于大型项目。一个可行的解决方案是使用RequireJs。你可以在网上找到很多关于这个的资源,例如你可以试试这个

于 2013-10-10T19:29:24.530 回答
0

我遇到了完全相同的问题,因此决定使用 RequireJS 来允许按需加载我的 angularJS 脚本。我创建了一个名为的包装器angularAMD,希望可以帮助您集成 RequireJS 和 AngularJS:

http://marcoslin.github.io/angularAMD/

于 2013-10-10T19:57:42.003 回答