我正在使用编译clojurescript到nodejs,我真的想使用println
函数:
(println "hello world")
然而,它给了我一个错误
No *print-fn* fn set for evaluation environment
我环顾网络但不清楚应该做什么。我真的只想将*print-fn*
设置为js/console.log
,但我不知道该怎么做
答案 0 :(得分:3)
如果你不能在clojurescript浏览器环境中使用println
,为什么不在你的代码中重新定义这个函数呢?我的意思是:
(def println[ & more]
(.log js/console more))
在应用程序代码的开头
编辑:正如@edbond所说,在clojurescript / node环境中,您可以在没有更多配置的情况下使用println。您可以在clojurescript文档https://github.com/clojure/clojurescript/wiki/Quick-Start#running-clojurescript-on-nodejs
上找到示例(ns nodehello)
(defn -main [& args]
(println (apply str (map [\ "world" "hello"] [2 0 1]))))
(set! *main-cli-fn* -main)
答案 1 :(得分:3)
由于this commit将println重定向到控制台的规范方式似乎是:
(enable-console-print!)