$ clj -M -m cljs.main cljs.repl.node
To quit, type: :cljs/quit
cljs.user=> (require 'cljs.js)
nil
cljs.user=> (cljs.js/eval-str (cljs.js/empty-state)
"(+ 1 2)" nil {:eval cljs.js/js-eval :context :expr} prn)
{:ns cljs.user, :value 3}
nil
不要依赖于下游引导式环境来报告或演示问题。
通常情况下,可以编写新的单元测试,在运行 script/test-self-parity
时失败。(这将运行编译器单元测试,但在引导式环境中)。
否则,重现步骤通常需要包含最少的代码来执行 cljs.js
,从而演示问题。
通常可以通过在 REPL 中使用几行代码来完成。以下示例通过在发布的 Node REPL 中简单地发出几个表单来练习 cljs.js/eval-str
API
$ clj -M -m cljs.main cljs.repl.node
To quit, type: :cljs/quit
cljs.user=> (require 'cljs.js)
nil
cljs.user=> (cljs.js/eval-str (cljs.js/empty-state)
"(+ 1 2)" nil {:eval cljs.js/js-eval :context :expr} prn)
{:ns cljs.user, :value 3}
nil
对于更复杂的情况,重现可能涉及额外的代码,甚至新的自托管单元测试来展示问题。关于自托管单元测试的信息,请查看此处。