无法配置Require.js baseUrl

时间:2012-12-03 20:00:43

标签: javascript backbone.js requirejs

我有以下应用程序结构:

+ 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/加载的?

1 个答案:

答案 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是绝对路径而不是相对路径,则它更好。