从Clojurescript中创build一个NodeJS可运行的单个JavaScript文件
使用Lumo和下面提到的文件,我可以运行$ node main.js
和presto! “你好,世界!”。 这很好,但是使用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