AngularJS项目中如何实现按需加载js文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS项目中如何实现按需加载js文件?相关的知识,希望对你有一定的参考价值。
参考技术A 使用angularjs+
requirejs就可以实现js文件的按需加载。
实现代码如下:
define(['app','navData'],
function
(app)
app.config(function($stateProvider,
$urlRouterProvider,
$controllerProvider,
navData)
app.registerController
=
$controllerProvider.register;
app.loadJs
=
function(js)
return
function($rootScope,
$q)
var
def
=
$q.defer(),
deps=[];
angular.isArray(js)
?
(deps
=
js)
:
deps.push(js);
require(deps,function()
$rootScope.$apply(function()
def.resolve();
);
);
return
def.promise;
;
$urlRouterProvider.otherwise('/memory');
angular.forEach(navData,
function(it)
var
st
=
it.state.split(/\./gi),
ctrlPath
=
'controllers/'
+
st[0],
ctrlName
=
'ctrl.'
+
st[0]
;
$stateProvider.state(st[0],
url
:
'/'
+
st[0],
templateUrl
:
'tpls/'
+
st[0]
+
'.html',
controller
:
ctrlName,
resolve:
deps:app.loadJs(ctrlPath)
);
)
);
);
以上是关于AngularJS项目中如何实现按需加载js文件?的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS、ocLazyLoad 和 ui-router:如何在不将“状态”集中在 app.js 主类上的情况下按需加载