从Clojurescript中创build一个NodeJS可运行的单个JavaScript文件

使用Lumo和下面提到的文件,我可以运行$ node main.jspresto! “你好,世界!”。 这很好,但是使用Lumo有一些缺点,我想知道这是否可以用cljs.jar

我如何使用可以由NodeJs运行的ClojureScript编译器(cljs.jar)从clojurescript创build一个JavaScript文件。

core.cljs

 (ns hello-world.core (:require [cljs.nodejs :as nodejs])) (nodejs/enable-util-print!) (defn -main [& args] (println "Hello world!")) (set! *main-cli-fn* -main) 

node.cljs

 (require '[lumo.build.api :as b]) (b/build "src" {:main 'hello-world.core :output-to "main.js" :optimizations :advanced :target :nodejs}) 

目标是拥有一个包含所有内容的单个文件,不需要导入/需要外部文件。

我为什么要这个? 有许多网站在创build和/或增强algorithm方面遇到开发人员的挑战。 问题是,这些网站大部分不是所有你使用clojure,也clojurescript。 但他们确实让你使用JavaScript。

这些网站通常允许你使用Java以及…所以如果有另一种方式可能得到一个“java”文件,而不是一个类文件,这也将工作的出口。 我怀疑这可能,但我想问问。

build.clj

 (require 'cljs.build.api) (cljs.build.api/build "src" {:output-to "main.js" :main 'hello-world.core :target :nodejs :optimizations :advanced}) 

build立命令

  java -cp cljs.jar:src clojure.main build.clj