# Install node and nexe
brew install node
npm install nexe -g
このガイドでは、ClojureScript ソースからネイティブ実行可能ファイルを作成する方法を説明します。基本的な考え方は、ClojureScript コンパイラを使用して JavaScript ファイルを作成し、その後 nexe と呼ばれる Node.js ツールを使用してそれを実行可能ファイルにコンパイルすることです。結果ファイルは、ターゲットマシンにノードをインストールせずに実行できるため、便利です。
nexe は、v8 エンジンを Javascript を含む exe にコンパイルすることで動作します。したがって、厳密に言えば、プログラム自体が事前にコンパイルされていません。しかし、EXE のパッケージングの利便性を求めているのであれば、これはまだかなり便利です。
セットアップ
# Install node and nexe
brew install node
npm install nexe -g
小さな hello world ファイルを作ります
mkdir -p /tmp/nexe-test/src
cd /tmp/nexe-test
cat > src/hello.cljs <<EOF
(ns hello)
(enable-console-print!)
(println "Hello world!")
EOF
REPL を起動し、ClojureScript をコンパイルします
wget https://github.com/clojure/clojurescript/releases/download/r1.9.473/cljs.jar
java -cp cljs.jar clojure.main <<EOF
(require 'cljs.build.api)
(cljs.build.api/build "src" {:optimizations :advanced :output-to "out/main.js"})
EOF
nexe を使用して JavaScript をネイティブ exe にコンパイルします。1 回目は時間がかかりますが、それ以降の実行はかなりの速度になります
nexe -i out/main.js -o hello.exe
# Run it
time ./hello.exe
# It's reasonably fast:
# Hello world!
#
# real 0m0.095s
# user 0m0.070s
# sys 0m0.025s
完了です!
元の著者: クレイグ・アンデラ