1

require.js ビルドに関するほとんどの問題は、ファイル構造と相対パス参照に関係しているため、トラブルシューティングを容易にするためにhttps://github.com/ttback/requirejs-exampleにレポを作成しました。

エラーは、うなり声を実行すると、取得されますno such file or directory requirejs-example/src/js/bundle/js/bundle/utils.js

これは baseUrl が間違っているためです。したいのですが、Gruntfileに基づいてsrc/依存関係を見つけるため、設定できません。src/js/bundle/main.jsしたがって、ベースは にありsrc/js/bundleます。現在の main.js は index.html で動作します。utils.js への相対パスを main.js 内から変更する.js/bundle/utils.js./utils.js、アプリが壊れます。

私が持っているもので grunt-requirejs を動作させる方法はありますか?

4

1 に答える 1

2

まず、まともなコード例を追加するためのポイント。

問題は実際には簡単に解決できます。

変更するだけです:

var utilsObject = require('./js/bundle/utils.js');

に:

var utilsObject = require('./utils');

これで、ビルド ツールとアプリが動作するようになります。

.jsサフィックスを追加することbaseUrlで、RequireJS がモジュール パスに適用するルールをバイパスしていました。ドキュメントから:

また、RequireJS は、デフォルトですべての依存関係がスクリプトであると想定しているため、モジュール ID の末尾に「.js」サフィックスが表示されることは想定されていません。

スクリプトを直接参照したい場合があり、それを見つけるための「baseUrl + パス」ルールには従わない場合があります。モジュール ID に次のいずれかの特性がある場合、ID は「baseUrl + パス」構成を介して渡されず、ドキュメントに関連する通常の URL のように扱われます。

  • 「.js」で終わります。
  • 「/」で始まります。
  • 「http:」や「https:」などの URL プロトコルが含まれます。

http://requirejs.org/docs/api.html#jsfiles

于 2013-11-22T11:38:37.370 に答える