【发布时间】:2014-07-31 12:10:26
【问题描述】:
我在使用 r.js 优化器优化 Angular 项目时遇到问题。
我正在尝试使用 grunt-requirejs 进行优化,它可以完美运行,直到我尝试从构建中排除 angular。然后我在角度路线中收到一个错误,说角度未定义。我想这样做,以便我可以从 cdn 加载 angular,但在应用程序中包含 angular-route。
为什么 angular-route 不等到 angular 被加载?
我知道 angular 已加载,但有谁知道为什么在此之前运行 angular route,以及如何修复它?
应用
define(['angular', ...], function(angular){
...
});
public/js/requirejs-config.js:
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']);
Gruntfile:
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']);
};
【问题讨论】:
标签: javascript angularjs requirejs gruntjs