如何从Clojure编译ClojureScript?

时间:2015-03-20 04:57:09

标签: clojure compilation lisp google-closure-compiler clojurescript

当我尝试编译clojurescript时,我收到错误:

WARNING: Required namespace not provided for cljs.core
Mar 19, 2015 11:48:23 PM com.google.javascript.jscomp.LoggerErrorManager println
SEVERE: /Users/charles/Develop/clojure/hummingcat/out/hummingcat/core.js:3: ERROR - required "cljs.core" namespace never provided
goog.require('cljs.core');
^

Mar 19, 2015 11:48:23 PM com.google.javascript.jscomp.LoggerErrorManager printSummary
WARNING: 1 error(s), 0 warning(s)
ERROR: JSC_MISSING_PROVIDE_ERROR. required "cljs.core" namespace never provided at /Users/charles/Develop/clojure/hummingcat/out/hummingcat/core.js line 3 : 0

据我所知,我在书中做了一切。出于某种原因,它无法访问clojurescript核心库。这就是他们称之为的咒语:

(cljs.closure/build input_path {:output-to output_path :optimizations :advanced})

以下是我正在尝试编译的内容:

(ns hummingcat.core)

(enable-console-print!)
(println "HELLO!!!!")

问题是,它正在编译clojurescript(尽管不是output_path)。这是它产生的东西:

// Compiled by ClojureScript 0.0-3058 {}
goog.provide('hummingcat.core');
goog.require('cljs.core');
(hummingcat.core.enable_console_print_BANG_.cljs$core$IFn$_invoke$arity$0 ? hummingcat.core.enable_console_print_BANG_.cljs$core$IFn$_invoke$arity$0() : hummingcat.core.enable_console_print_BANG_.call(null));
var G__9815_9816 = "HELLO!!!!";
(hummingcat.core.println.cljs$core$IFn$_invoke$arity$1 ? hummingcat.core.println.cljs$core$IFn$_invoke$arity$1(G__9815_9816) : hummingcat.core.println.call(null,G__9815_9816));

我还没有尝试过运行这个clojurescript。有什么建议吗?

0 个答案:

没有答案
相关问题