我用的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' }); }); });
可以尝试下将deps改为deps:['angular-1.4.min']