# Install node and nexe
brew install node
npm install nexe -g
本指南說明如何從 ClojureScript 原始碼產生原生可執行檔。基本概念是使用 ClojureScript 編譯器產生一個 JavaScript 檔案,然後使用一個名為 nexe 的 Node.js 工具將其編譯為可執行檔。產生的檔案可以在目標機器上運行,而無需安裝 node,這可能很方便。
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 將 js 編譯為原生 exe。第一次需要一些時間,但後續運行會相當快
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
盡情享受!
原始作者:Craig Andera