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如何实现不同页面引入不同的js文件?

AngularJS、ocLazyLoad 和 ui-router:如何在不将“状态”集中在 app.js 主类上的情况下按需加载

angularJS和requireJS和angularAMD

CSS 实现加载圆环

vue项目实现路由按需加载的3种方式

原创AngularAMD 按需加载的实现