$ 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
對於更複雜的情況,重現可能涉及額外的程式碼,甚至是一個新的自行託管單元測試來展示問題。有關自行託管單元測試的資訊,請參閱此處。