嗨,我无法在互联网上找到问题的确切答案
我正在玩AngularJs,我意识到,我必须加载index.html
中的每个文件。
这样做感觉不太顺利,我很确定它会影响加载时间。
有没有办法以适当和快速的方式做到这一点?
的index.html:
<!-- modules -->
<script src="js/app.js"></script>
<!-- controllers -->
<script src="js/controllers/Controller00.js"></script>
<script src="js/controllers/Controller01.js"></script>
<script src="js/controllers/Controller02.js"></script>
<!-- directives -->
<script src="js/directives/Directive00.js"></script>
<script src="js/directives/Directive01.js"></script>
<!-- services -->
<script src="js/services/Service00.js"></script>
<script src="js/services/Service01.js"></script>
app.js
angular.module('MyApp', ['ngRoute']).config(function($routeProvider, $locationProvider) {
$locationProvider.hashPrefix('');
$routeProvider
.when('/', {
redirectTo: '/00'
})
.when('/00', {
templateUrl: 'view/00.html',
controller: 'Controller00',
controllerAs: 'ctrl00'
})
.when('/01', {
templateUrl: 'view/01.html'
})
.when('/02', {
templateUrl: 'view/02.html',
controller: 'Controller02',
controllerAs: 'ctrl02'
})
.when('/03', {
templateUrl: 'view/03.html',
controller: 'Controller03',
controllerAs: 'ctrl03'
})
.otherwise({
redirectTo: '/00'
});
});
答案 0 :(得分:1)
您可以使用第三方等延迟加载模块和组件 ocLazyLoad
检查他们的文档 https://oclazyload.readme.io/
答案 1 :(得分:0)
您可以使用任务运行器(如grunt,gulp等..)来连接,最小化,uglify您的代码并加载单个* .min.js文件。
或者,您也可以使用静态模块捆绑器。例如,Webpack有很好的文档记录,特别是对Angular而言 - 你也可以用它来封装AngularJS应用程序。
关于ocLazyLoad(由其他用户建议)的问题,请注意AngularJS不是为支持延迟加载而设计的。 OcLazyLoad ,我用过,覆盖一些AngulrJS核心方法,比如 angular.boostrap 函数(只是为了提供一个例子)等等有了它,你不再运行AngularJS了,而是“fork”......
然后,恕我直言,提供启用gzip(服务器端)的文件。
答案 2 :(得分:0)