Javascript R.js优化器执行角度库

Javascript R.js优化器执行角度库,javascript,angularjs,requirejs,gruntjs,Javascript,Angularjs,Requirejs,Gruntjs,我在使用r.js优化器优化角度项目时遇到问题 我正在尝试使用grunt requirejs进行优化,在我尝试从构建中排除angular之前,它工作得非常好。然后我在角度路由中得到一个错误,表示角度是未定义的。我想这样做,以便我可以从cdn加载角度路由,但在应用程序中包括角度路由 为什么angular route不等待angular加载 我知道angular会被加载,但有人知道为什么angular路线会在加载之前运行,以及如何修复它吗 应用程序 public/js/requirejs-config

我在使用r.js优化器优化角度项目时遇到问题

我正在尝试使用grunt requirejs进行优化,在我尝试从构建中排除angular之前,它工作得非常好。然后我在角度路由中得到一个错误,表示角度是未定义的。我想这样做,以便我可以从cdn加载角度路由,但在应用程序中包括角度路由

为什么angular route不等待angular加载

我知道angular会被加载,但有人知道为什么angular路线会在加载之前运行,以及如何修复它吗

应用程序 public/js/requirejs-config.js: Grunfile:
我自己设法解决了

我需要使用wrapshem并使用deps而不是数组指定依赖项

应用程序 public/js/requirejs-config.js: Grunfile:
如果你有种子项目,你介意分享吗?或者任何博客文章来做这个?我正在尝试做这个优化,并坚持了一段时间。我很抱歉,我已经不在同一家公司工作了,我也没有访问源代码的权限。我希望你能设法解决它
define(['angular', ...], function(angular){
...
});
require.config({
  shim: {
    angular: {
      exports: 'angular'
    },
    'angular-route': [
      'angular'
    ]
  },
  paths: {
    angular: '../../bower_components/angular/angular',
    'angular-route': '../../bower_components/angular-route/angular-route'
  }
});

require(['app']);
module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        requirejs: {
            compile: {
                options: {
                    baseUrl: "public/js",
                    name: "app",
                    mainConfigFile: "public/js/requirejs-config.js",
                    out: "public/js/combined.js",
                    paths: {
                        angular: "empty:" //without this it works fine
                    },
                    optimize: "none"
                }
            }
        }
    });


    grunt.loadNpmTasks('grunt-bower-requirejs');
    grunt.registerTask('default', ['requirejs']);

};
define(['angular', ...], function(angular){
...
});
require.config({
  shim: {
    angular: {
      exports: 'angular'
    },
    'angular-route': {
      deps: ['angular']
    }
  },
  paths: {
    angular: '../../bower_components/angular/angular',
    'angular-route': '../../bower_components/angular-route/angular-route'
  }
});

require(['app']);
module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        requirejs: {
            compile: {
                options: {
                    baseUrl: "public/js",
                    name: "app",
                    mainConfigFile: "public/js/requirejs-config.js",
                    out: "public/js/combined.js",
                    paths: {
                        angular: "empty:" //without this it works fine
                    },
                    wrapShim: true,
                    optimize: "none"
                }
            }
        }
    });


    grunt.loadNpmTasks('grunt-bower-requirejs');
    grunt.registerTask('default', ['requirejs']);

};