如何在nodejs中设置clojurescript * print-fn * fn

时间:2013-11-13 20:44:00

标签: node.js clojurescript

我正在使用编译clojurescript到nodejs,我真的想使用println函数:

(println "hello world")

然而,它给了我一个错误

 No *print-fn* fn set for evaluation environment

我环顾网络但不清楚应该做什么。我真的只想将*print-fn*设置为js/console.log,但我不知道该怎么做

2 个答案:

答案 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!)
相关问题