-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 Web ページに含まれているため、すべてのモジュールの 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 に答える