大多数 RequireJS 的设置示例,将配置对象放置在 main.js 入口点中,类似于以下内容:
我建议将配置对象放在独立的文件中,因为随着它的增长,在同一个文件中维护将变得困难。
当我在浏览器中运行下面的设置时,它可以工作,但是当我运行r.js优化器时,出现了错误。
当我运行r.js时,出现以下错误:
“追踪main的依赖关系 错误: ENOENT,“C:\Work\project\target\app.js”文件或目录不存在。”
看起来r.js没有获取配置设置,因为它将app.js作为相对脚本而不是具有定义路径的模块进行查找。
这是我的build.js文件(appDir、dir和mainConfigFile都是相对于build.js文件的):
//main.js
require.config({
"paths": {
//libs
"lib1": "assets/js/lib/lib1",
"lib2": "assets/js/lib/lib2",
"lib3": "assets/js/lib/lib3",
"lib4": "assets/js/lib/lib4"
}
});
//start the app
define(["lib1"], function(lib1){/*start the app*/});
我建议将配置对象放在独立的文件中,因为随着它的增长,在同一个文件中维护将变得困难。
当我在浏览器中运行下面的设置时,它可以工作,但是当我运行r.js优化器时,出现了错误。
//config.js
define({/*all configuration here*/});
//main.js
define(["config", "require"], function(config, require){
requirejs.config(config); //set configuration
require(["app"]); //launch app, where "app" path is defined in config.js
});
当我运行r.js时,出现以下错误:
“追踪main的依赖关系 错误: ENOENT,“C:\Work\project\target\app.js”文件或目录不存在。”
看起来r.js没有获取配置设置,因为它将app.js作为相对脚本而不是具有定义路径的模块进行查找。
这是我的build.js文件(appDir、dir和mainConfigFile都是相对于build.js文件的):
({
appDir: "../src",
baseUrl: ".",
dir: "../target",
mainConfigFile: "../src/main.js",
findNestedDependencies: true,
modules: [
{
name: "main"
}
]
})