14

RequireJSを使用してページのスクリプトをロードし始めたばかりですが、chromeを使用して問題をデバッグしようとすると障害が発生しました。

2つの依存関係に依存するメインスクリプトがあるとしましょう:dep1dep2

require(["dep1", "dep2"], function(dep1, dep2) {
    //do something
});

単体テストを実行しているときに、何かがdep1.js正しく機能していないことに気付いたので、chrome devツールを開いて、ブレークポイントを挿入します。ただし、...

依存関係がありません

...dep1.js存在しません!

ブレークポイントを挿入するソースファイルを見つけるにはどうすればよいですか?!

スクリプトが正しく実行されているので、ファイルロードされていると確信しています。ソースのリストに表示されないだけです

4

2 に答える 2

4

ついに問題は私がr.jsの代わりに使っていたことに気づきましたrequire.js。切り替えるとすぐに、問題なくファイルを見ることができました。

余談ですが、一時的な回避策は、挿入されたファイルの最後に以下の行を挿入することでした。これにより、Chromeがファイルを取得できるようになります

//@ sourceURL=GameWorldAction.js
于 2013-01-16T22:24:59.347 に答える
1

上記の例では、配列を閉じることはありません。

require(["dep1", "dep2", function(dep1, dep2) {
    //do something
});

する必要があります:

require(["dep1", "dep2"], function(dep1, dep2) {
    //do something
});

質問への更新に応じて編集:

r.jsRequireJsファイルだと思います。RequireJSがファイルを正しくロードしていないようです。ロードされている場合、ファイルはインスペクターに表示されます。

data-mainタグの属性を使用しscriptてメインJSファイルを指定していますか?もしそうなら、dep1dep2ファイルはメインのJSファイルと同じディレクトリにありますか?baseUrl別のパスまたはドメインからファイルをロードしようとしている場合は、別のファイルを指定する必要がある場合があります。baseUrlは、require.configで設定することで変更できます。

<script>
  require.config({
    //path can also be a domain like "//image.mydomain.tld/jscript"
    baseUrl: "/another/path" 
  });
</script>
于 2013-01-16T19:12:39.813 に答える