lein test
如何设置重要的 JavaScript 运行时。
将 V8_HOME 环境变量设置为 d8 构建的路径,例如
export V8_HOME="$HOME/v8/out/x64.release"
通过以下方式验证
echo quit | $V8_HOME/d8
从 https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/ 获取 JavaScript Shell (jsshell)。将您的 SPIDERMONKEY_HOME 环境变量设置为安装位置。
通过以下方式验证
$SPIDERMONKEY_HOME/js --version
在 macOS 上,我们使用 JavaScriptCore 进行测试。JavaScriptCore (jsc) 应该在您的系统上,但需要将其添加到您的 PATH
环境变量中,以便找到它,例如
export PATH="$PATH:/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources"
验证 jsc
是否弹出一个提示。
设置 $NASHORN_HOME
环境变量,以便
$NASHORN_HOME/jjs
提示一个 JavaScript 控制台。Nashorn 通常在 $JAVA_HOME/bin
下,因此您可以编写
export NASHORN_HOME="$JAVA_HOME/bin"
通过以下方式验证
echo 'quit()' | $NASHORN_HOME/jjs -fv
从 https://graalvm.java.net.cn 获取 GraalVM。设置您的 GRAALVM_HOME 环境变量,以便 $GRAALVM_HOME/js
执行 Graal.js。
通过以下方式验证
$GRAALVM_HOME/js --version
从 https://github.com/Microsoft/ChakraCore/releases 获取 ChakraCore。设置您的 CHAKRACORE_HOME 环境变量,以便 $CHAKRACORE_HOME/ch
执行 ChakraCore。
通过以下方式验证
$CHAKRACORE_HOME/ch -version
如果您已安装 Node.js,则可以运行引导的 ClojureScript 测试套件(位于 src/test/self/self_host/test.cljs
)
./script/test-self-host
您还可以通过运行在引导模式下构建和运行 ClojureScript 编译器测试套件,
./script/test-self-parity
cljs.main
) 测试您可以通过运行测试来测试 ClojureScript CLI
./script/test-cli repl-env [repl-env-opts-edn]
其中 repl-env
是任何内置的 REPL 环境(node
、browser
等)。这将传递给 cljs.main
的 -re
选项。
请注意,使用 graaljs
REPL 环境进行测试需要在您的 PATH 中尽早找到 GRAALVM_HOME。您可以通过以下方式进行测试
(export PATH="$GRAALVM_HOME:$PATH"; ./script/test-cli graaljs)
您也可以指定一个非内置的 REPL 环境,但您必须修改 script/test-cli
以将下游 REPL 环境包含在类路径中。您也可以传递可选的 repl-env-opts-edn
,它将传递给 cljs.main
的 -ro
选项。
重要的是要确保浏览器 REPL 未被意外破坏。
您可能已经通过 ./script/test-cli browser
对浏览器 REPL 运行了测试。如果没有,现在是时候这样做了。注意:此测试启动大量浏览器窗口/标签是正常的。
此外,您可能只在进行一些手动验证后才会感到满意 - 即使只是尝试一个简单的 (js/alert "Hello CLJS!")
您可以通过从 clojurescript 项目根目录运行 clj -M -m cljs.main
来启动浏览器 REPL。
或者从一个新的空目录,创建一个指向您 构建的 ClojureScript 编译器 的 deps.edn
,将 1.10.123
替换为您的本地版本
{:deps {org.clojure/clojurescript {:mvn/version "1.10.123"}}}
然后从这个目录,运行 cljs -m cljs.main
。