ブラウザなしでJavaScriptを実行しますか?質問する

ブラウザなしでJavaScriptを実行しますか?質問する

ブラウザを使わない Javascript プログラミングを検討しています。他のスクリプト言語 (ruby、php、perl、python など) を実行するのと同じように、Linux または Mac OS X のコマンド ラインからスクリプトを実行したいと考えています。

$ javascript my_javascript_code.js

スパイダーモンキー(Mozilla)とv8(Google)を調べてみましたが、どちらも埋め込まれているようです。

コマンドラインから実行されるスクリプト言語として JavaScript を使用している人はいますか?

私がなぜこれを調べているのか知りたい人がいるなら、私は調べているノードnode.js のパフォーマンスを見ると、JavaScript が大量データの処理に適したスクリプト言語になるのではないかと考えます。

ベストアンサー1

主な回答

はい、あなたの質問に答えると、ブラウザなしで、コマンド ラインから JavaScript を「通常の」スクリプト言語として使用することは可能です。他の人はまだ言及していないので、言及する価値があると思います。

Debian ベースのシステム (少なくとも Ubuntu、Linux Mint、aptosid/sidux が含まれます) では、Rhino やすでに述べた他のものをインストールするオプションの他に、次のオプションがあります。

  • インストールlibmozjs-78-0パッケージは、Mozilla の Spidermonkey エンジンをシンプルな としてコマンドラインで提供しjs24、対話型インタープリタとしても使用できます。(24名前の は、Firefox のバージョン 24 に対応していることを意味します)。

  • インストールlibv8-dev/usr/share/doc/libv8-dev/examples/shell.cc.gzパッケージは、Google の V8 エンジンを提供します。その例の 1 つとして、非常に簡単に解凍してコンパイルできるファイルがあります(例: g++ -Os shell.cc -o shell -lv8)。

  • パッケージをインストールするnodejs実行ファイルnodejs代替(Debian の意味で)js実行可能ファイルを提供します。JIT コンパイルは V8 の好意により提供されています。

  • パッケージをインストールするlibjavascriptcoregtk-4.0-binWebKit の JavaScriptCore インタープリタ ( jsc) をコマンドラインから通常のインタープリタとして使用します。Mac にアクセスする必要はありません。多くのプラットフォーム (x86 や x86_64 など) では、このインタープリタに JIT コンパイラが付属しています。

したがって、ほとんどコンパイルせずに、3 つの重量級の JavaScript エンジンを利用できるようになります。

補遺

インストールが完了したら、#!/usr/bin/jsshebang 行を含むファイルを作成するだけで、すべてが動作します。

$ cat foo.js 
#!/usr/bin/js

console.log("Hello, world!");
$ ls -lAF /usr/bin/js /etc/alternatives/js /usr/bin/nodejs
lrwxrwxrwx 1 root root      15 Jul 16 04:26 /etc/alternatives/js -> /usr/bin/nodejs*
lrwxrwxrwx 1 root root      20 Jul 16 04:26 /usr/bin/js -> /etc/alternatives/js*
-rwxr-xr-x 1 root root 1422004 Apr 28 20:31 /usr/bin/nodejs*
$ chmod a+x foo.js 
$ ./foo.js 
Hello, world!
$ js ./foo.js
Hello, world!
$

旧バージョン:
libmozjs-24-binlibmozjs-52libmozjs-60libmozjs-91libjavascriptcoregtk-3.0-bin

おすすめ記事