SystemJSのようなモジュールローダーを使用する場合のSafariのWebインスペクターでのデバッグ


121

私が作成していますIonic使用してアプリをes6 modulesTypeScriptおよびSystemJSモジュールローダとして。これは私のセットアップです:

tsconfig.json:

{
  "compilerOptions": {
    ...
    "target": "es5",
    "module": "system",
    ...
  }
}

index.html:

<script src="lib/system.js"></script>
<script src="systemjs.config.js"></script>
<script>System.import('js/app.js')</script>

スクリプトの例(TypeScript):

import {IConfig} from "./app-config";

export class ConfigLoader {
    ...
}

Chromeですべてがうまくいきます。ただし、SafariのWebインスペクターを使用してデバッグする場合、WebインスペクターはHTMLから直接読み込まれたスクリプト(スクリプトタグを介して)のみを表示し、XHR(私の場合はSystemJS)によって読み込まれたスクリプトを表示しないため、スクリプトにブレークポイントを配置できません。 。つまり、自分のスクリプトをデバッグすることはできません。もちろん、これは受け入れられません。

以前のようにSystemJSを使用してこれを回避しようとしましたが、次のようにスクリプトタグをhtmlに配置しました。

<script src="lib/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="js/app-config.js"></script>
 ... other app scripts
<script>System.import('js/app.js')</script>

ただし、SystemJSはこれについて満足していないようなので、これは機能しません。

無効なSystem.register呼び出し。匿名のSystem.register呼び出しは、SystemJS.importによって読み込まれたモジュールでのみ実行でき、スクリプトタグ経由では実行できません。

SystemJSをどのように使用し、同時にSafariでデバッグすることができますか?「各スクリプトにデバッガーステートメントを置く」よりも少し洗練された解決策を探しています...


4
これは奇妙なアドバイスのように思えるかもしれません。質問は1月11日から公開されているためですが、webpackに飛び込むことをお勧めします。私はSystemJSを読んでいますが、それがあなたのニーズをカバーするという感じがしません。
DevNebulae 2017年

スクリプトをhtmlにロードできない場合は、運が悪かったようです。ご覧のように、Chromeはこれをサポートする唯一のブラウザのようです。
マフィンマン


3
debuggerJSキーワードを使用
KamilKiełczewski19年

1
@KamilKiełczewski質問は、「「各スクリプトにデバッガーステートメントを置く」よりも少し洗練された解決策を探している...」と明言しています
fikkatra

回答:


1

まあ、多分あなたはWebとノードのための強力なデバッガでWebStormのようないくつかのIDEを使用することができます。

例:

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

WebStormデバッガの詳細については、こちらをご覧ください

WebStormのいくつかの代替:

  1. Atom(無料)
  2. Intellij IDEA(コミュニティ:無料)
  3. Visual Studio Code(無料)
  4. ...

PS:IonicおよびReactアプリをWebStorm:Dで開発しています


1
私はWebstormに乗り込もうとしていますが、VS Codeの拡張システムが提供する便利な機能がたくさんあるので、Webstormにはないので、ジャンプするのは難しいです。
スティーブンMアービング


-4

jsファイルキーワードに書き込み、エクスプローラーdebuggerで開くinspect element

ページを更新してデバッグモードにすると...

楽しめ ;-)


3
質問は、明示的に「...私は『各スクリプトデバッガステートメントを置く』より少しより洗練された解決策を探しています」と述べ
fikkatra
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.