# 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 将 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