关于requir.js异步加载的angularjs文件的顺序问题
我用的angular.js的版本是1.4,我想用require.js把相关的文件导入,但是在导入依赖angular.js的其他模块,如angular-animate.min.js的时候,有时会发生angular-animate.min.js比angular.js加载快,导致浏览器报错
但是我在config.js文件中设置了依赖,但是没有生效,不知道原因为何,希望各位大神为小弟解答一下
我的config.js代码如下
require.config({
//baseUrl指的是根路径
baseUrl: 'temp/lib/js',
shim:{
'angular-1.4.min': {
exports: 'angular'
},
'angular-ui-router': {
deps: ['angular'],
exports: 'uiRouter'
},
'angular-animate.min': {
deps: ['angular'],
exports: 'uiBootstrap'
},
'angular-sanitize.min': {
deps: ['angular'],
exports: 'ngAnimate'
},
'ui-bootstrap-tpls-2.1.3': {
deps: ['angular','ngAnimate','ngSanitize'],
exports: 'ngSanitize'
}
},
paths:{
jquery:'jquery-2.1.4.min',
angular: 'angular-1.4.min',
uiRouter: 'angular-ui-router',
uiBootstrap: 'ui-bootstrap-tpls-2.1.3',
ngAnimate: 'angular-animate.min',
ngSanitize: 'angular-sanitize.min',
},
urlArgs: "bust=" + (new Date()).getTime() //防止读取缓存,调试用
});
require(['angular','uiRouter','ngSanitize','ngAnimate','uiBootstrap'],function(){
var myApp = angular.module('myApp',["ui.router",'ngAnimate','ngSanitize','ui.bootstrap']);
myApp.controller('FirstCtrl', ['$scope', function ($scope) {
$scope.name = 'JC';
}]);
myApp.config(function($stateProvider,$urlRouterProvider) {
$urlRouterProvider.otherwise("/route1");
$stateProvider
.state('route1',{
url: '/route1',
templateUrl: 'temp/video.php',
controller: function($scope){
}
})
.state('route2',{
url: '/route2',
templateUrl: 'temp/form.php'
})
.state('route2.setting',{
url: '/setting',
templateUrl: 'temp/setting.php'
});
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以尝试下将deps改为deps:['angular-1.4.min']
把angular的启动方式设为手动就可以了