-1

我有以下应用程序结构:

+ 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 网页中,因此所有模块的 url 都被破坏了,例如:

GET http://builder1.localhost/user/scripts/vendor/require.js 404 (Not Found) 

而不是加载:

localhost/project/app/scripts/vendor/require.js

我该如何配置'baseUrl'它才能知道我是通过加载的http://builder1.localhost/user/

4

1 回答 1

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

于 2012-12-04T12:33:06.507 回答