5

私は疑問に思っています (実際には、コマンド ラインで js を実行する方法が確実にあることを知っています。なぜなら、Google I/0 プレゼンテーションを見ると、d8 のようなコマンドを使用するためです。おそらく V8 エンジンの一部です)。コマンドラインでJavaScriptを実行/デバッグしますか? などd8 myJsfile.js --profなど?

誰かこれについて何か考えがありますか?

4

2 に答える 2

5

はい、D8 は Javascript スクリプトを実行およびデバッグできるコマンド ライン ツールです。V8が付属しています。

D8を入手

マシンに V8 をインストールするのは難しくありません。次の手順に従ってください: https://developers.google.com/v8/build

(GYP の部分は少し面倒に見えますが、Linux ボックスでは簡単に通過できました。)

V8 をインストールすると、コマンド ラインから JavaScript を実行できる d8 が作成されます。

$ d8 myscript.js

D8 の使用

d8 --helpプロファイリング オプションについては、 を参照してください。これらは、Chrome でプロファイリングを使用する場合に使用できるオプションと非常によく似ています。

デバッグする場合は、d8 を--debugger. debugger;スクリプトは、コード内のステートメントに遭遇したとき、またはdebugger;d8 シェルに入力したときに壊れます。(d8 を で開始すると、シェルが表示されます。) シェル プロンプトが からに変わると--shell、デバッグ中であることがわかります。プロンプトでデバッガーの種類に関するヘルプを表示するには。d8>dbg>helpdbg>

d8 デバッガーは古い学校のコマンド ライン デバッガーであり、GUI デバッガーに慣れている場合、大規模で複雑なスクリプトを使用するのは困難です。

D8 での GUI デバッガーの使用

GUI デバッガーを使用する場合は、Eclipse デバッガーを含む Chrome DevTools for Java を使用できます。

https://code.google.com/p/chromedevtools/

それを機能させるには:

  • Eclipseをインストールする
  • ChromeDevTools プラグインをインストールします (このビデオから助けを得ました: http://www.youtube.com/watch?v=_uzSw_fb7NQ )
  • 「スタンドアロン V8 VM」タイプの新しいデバッグ構成を作成し、接続パラメーターに host:localhost と port:5858 を設定します。

D8 で実行されているコードをデバッグするには:

  • スクリプトと --debugger_agent を使用して D8 を起動し、構成に基づいて必要に応じて --debugger_port を使用します。D8 のデフォルト ポートは 5858 です。
  • Eclipse で、上で作成したデバッグ構成を起動します。スクリプトがインターフェースに表示されます
  • Eclipse UI でブレークポイントを設定し、それを使用します。debugger;(コードにステートメントは必要ありません。)

ノート!D8 は、localhost のデバッガーのみをリッスンします。したがって、別のマシンを使用している場合、これは機能しません。別の IP でリッスンするフラグはありません。参照: https://code.google.com/p/v8/issues/detail?id=1855

D8 で Javascript を実行する際の落とし穴

D8 の Javascript 環境は、ブラウザー ウィンドウの環境と同じではないことに注意してください。使用できない関数がいくつかあります。

  • setTimeout とそのいとこ
  • XMLHttpRequest
  • とかなりの数。ECMA 仕様をチェックして、実際に使用できるものを確認してください。

window.*ordocument.*または DOMがないことを忘れないでください。

于 2013-06-14T02:16:21.487 に答える
2

Node.JSは、この点で非常に堅実です。

ブラウザのことなどをテストすることはできませんがwindow.location、ストレートスクリプトを実行する場合は便利です。

于 2012-08-23T13:28:54.060 に答える