web-dev-qa-db-ja.com

コマンドラインからJavaScriptファイルを実行することは可能ですか?

私はいくつかのJSファイルを持っているので、コンソールウィンドウ(FirefoxとChromium)にすべてをコピーして貼り付けるのではなく、可能であればシェルから呼び出したいと思います。

すべてのJSファイルには、console.logを使用して正しいかどうかを示すテスト関数があります。

37
user1243746

テストでDOMへのアクセスが必要な場合は、常に PhantomJS -ヘッドレス(Webkit)ブラウザーがあります。

16
Matt

Node.jsを使用するソリューションを拡張しています…

コマンドラインJavaScript のページの一部の例とスクリーンショットを次に示します。

Node REPL(シェル)

引数なしでコマンドラインにnodeを入力すると、Read-Eval-Print-Loopになります。またはREPL略してシェルとも呼ばれます)ここでは、JavaScript式をインタラクティブに入力して、すぐに評価させることができます。

Node REPL (Shell)

コマンドラインからJavaScriptファイルを評価する

次の内容のファイルを作成します。

console.log('Hello, world');

コマンドラインから、nodeを使用してファイルを評価します。

Evaluate a JavaScript file

63
Beau Smith

node.js を使用してこれを行うことができます。各ファイルを個別に実行できますが、もちろん、ファイル間に依存関係はないと想定しています。

この windowsコマンドラインjavascript では、Windowsを使用していてNodeをインストールしたくない場合のWindows Scripting Hostの使用について説明しています。ただし、Nodeはおそらく標準化されたjsの方が良い方法です(v8 Javascriptエンジンを使用)。

6
craigmj

私はそれが最善の解決策であると言っているわけではありませんが、利用可能な選択肢の一つです。私はただ認識を広めたいのですが、これはJavaがJavaScriptを実行する方法です。JavaScriptランタイムはすでに長い間組み込まれているからです。最初にRhinoがあり、現在、Java SE 8にはNashornと呼ばれる新しいエンジンが付属しており、これはJSR 292とinvokedynamicに基づいています。 ECMAの正規化されたJavaScript仕様への準拠と、invokedynamicバインドされた呼び出しサイトによる実行時パフォーマンスの向上を提供します。コマンドラインからJavaScriptプログラムを実行するために使用できます。そのために、OracleのJDKまたはOpenJDKのビルドには、jjsと呼ばれるコマンドラインツールが含まれています。これは、よく知られているJava、javac、またはjarツールとともに、JDKインストールのbin /フォルダーにあります。

Jjsツールは、引数としてJavaScriptソースコードファイルのリストを受け入れます。次のhello.jsファイルを検討してください。

var hello = function() {
  print("Hello Nashorn!");
};

hello(); 

評価は次のように簡単です。

$ jjs hello.js
Hello Nashorn!
$

詳細については、公式ドキュメントを参照してください http://www.Oracle.com/technetwork/articles/Java/jf14-nashorn-2126515.html

6
Rohit Luthra

ええ、それはnodeで可能です。 jsファイルを作成し、コードを記述して保存し、ファイルを保存したディレクトリに移動して、node <your file_name>。できました。注:システムにnodeがインストールされている必要があります

お急ぎの方やWindowsの方は、コマンドプロンプトで次のコマンドラインを試してください。

cscript /E:jscript myJavaScriptFile.js
0
primehunter