javascript - 关于requir.js异步加载的angularjs文件的顺序问题

 zsx2502853407 发布于 2022-11-09 18:53

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

    2022-11-12 11:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有