使用Lumo和下面提到的文件,我可以运行$ node main.js
和 presto!“Hello world!”。这很好但是使用Lumo有一些缺点,我想知道这是否可以使用 cljs.jar 。
如何使用可由NodeJ运行的ClojureScript编译器(cljs.jar)从clojurescript创建单个javascript文件。
(ns hello-world.core
(:require [cljs.nodejs :as nodejs]))
(nodejs/enable-util-print!)
(defn -main [& args]
(println "Hello world!"))
(set! *main-cli-fn* -main)
(require '[lumo.build.api :as b])
(b/build "src"
{:main 'hello-world.core
:output-to "main.js"
:optimizations :advanced
:target :nodejs})
目标是拥有一个包含所有内容且不需要外部文件的单个文件。
为什么我要这个? 有许多网站在创建和/或增强算法方面存在开发人员挑战。问题是,大多数这些网站并不是所有你使用clojure,也不是clojurescript。但他们确实允许你使用javascript。
这些网站通常也允许您使用Java ...所以如果有另一种方式可能导出“java”文件,而不是类文件,那也可以。我怀疑那可能,但我想问。
答案 0 :(得分:1)
<强> build.clj 强>
(require 'cljs.build.api)
(cljs.build.api/build "src" {:output-to "main.js"
:main 'hello-world.core
:target :nodejs
:optimizations :advanced})
构建命令
java -cp cljs.jar:src clojure.main build.clj