我理解有关是否在AngularJS中使用require.js存在争议,但我现在正在这样做。我已经使用require设置和运行整个项目,现在我正在尝试使用r.js进行优化和缩小。
运行r.js并更改data-main
文件中的index.html
后,我现在收到angular is undefined
,但无法继续。
我能够使用angular-require-seed重现相同的行为。我按照github上的说明进行安装,然后为r.js做了以下构建定义。
build.js
({
baseUrl: "./app/js",
name: "main",
out: "index-built.js",
paths: {
angular: '../../bower_components/angular/angular',
'angular-scenario': '../../bower_components/angular-scenario/angular-scenario',
'angularRoute': '../../bower_components/angular-route/angular-route',
'angular-mocks': '../../bower_components/angular-mocks/angular-mocks'
}
})
然后我在应用程序的顶层使用以下命令运行r.js.
r.js.cmd -o build.js
完成r.js
后,我将index.html中的data-main
更改为data-main="index-built.js"
这又一次导致角度为undefined
。任何人都可以指出我的错误吗?
答案 0 :(得分:2)
你是remembering to shim图书馆吗?
如果您是,那么您还需要在build.js
中包含相同的配置。最好的方法是在main.js
点the mainConfigFile
property,让它从那里获取配置值(包括上面的路径)。