javascript - 关于requir.js异步加载的angularjs文件的顺序问题
PHPz
PHPz 2017-04-11 12:41:54
[JavaScript讨论组]

我用的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'
            });
    });
});
PHPz
PHPz

学习是最好的投资!

全部回复(1)
ringa_lee

可以尝试下将deps改为deps:['angular-1.4.min']

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号