我有以下应用程序结构:
+ project
+ app
+ script
+ vendors
+ backbone
+ underscore
- require.js
- require.config.js
package.json
我已使用jam.js
安装了所有依赖项。 package.json
看起来像这样:
{
"name": "Project",
"jam": {
"packageDir": "app/scripts/vendor",
"baseUrl": "app",
"dependencies": {
"backbone": null
}
}
}
baseUrl设置为app文件夹,如果我运行我的应用程序
localhost/project/app
它的工作正常。但最终在后端我的应用程序index.html
包含在php网页中,因此所有模块网址都被破坏,例如:
GET http://builder1.localhost/user/scripts/vendor/require.js 404 (Not Found)
而不是加载:
localhost/project/app/scripts/vendor/require.js
如何配置'baseUrl'
,以便知道我是通过http://builder1.localhost/user/
加载的?
答案 0 :(得分:0)
您的输入脚本(由require.js加载的第一个脚本)应该具有类似于以下内容的内容
require.config({
baseUrl: "/another/path",
paths: {
"some": "some/v1.0"
},
waitSeconds: 15
});
require( ["some/module", "my/module", "a.js", "b.js"],
function(someModule, myModule) {
//This function will be called when all the dependencies
//listed above are loaded. Note that this function could
//be called before the page is loaded.
//This callback is optional.
}
);
直接从文档中获取。仔细检查您的代码。如果基本URL是绝对路径而不是相对路径,则它更好。