从 Clojurescript 创建一个 NodeJS 可运行的单个 javascript 文件
Creating a NodeJS runnable single javascript file from Clojurescript
使用 Lumo 和下面提到的文件我可以 运行 $ node main.js
和 presto! "Hello world!"。这很好,但使用 Lumo 有缺点,我想知道 cljs.jar.
是否可行
如何使用 ClojureScript 编译器 (cljs.jar) 从 clojurescript 创建单个 javascript 文件,NodeJs 可以 运行。
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})
目标是拥有一个包罗万象的文件,没有 import/require 外部文件。
我为什么要这个?
有许多网站在创建 and/or 增强算法方面对开发人员提出挑战。问题是这些站点中的大多数并不都是你使用clojure 的,也不是clojurescript 的。但他们确实让你使用 javascript.
这些站点通常也允许您使用 Java...因此,如果有其他方法,也许可以导出 "java" 文件,而不是 Class 文件,那也行。我怀疑那是可能的,但我想我会问。
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
使用 Lumo 和下面提到的文件我可以 运行 $ node main.js
和 presto! "Hello world!"。这很好,但使用 Lumo 有缺点,我想知道 cljs.jar.
如何使用 ClojureScript 编译器 (cljs.jar) 从 clojurescript 创建单个 javascript 文件,NodeJs 可以 运行。
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})
目标是拥有一个包罗万象的文件,没有 import/require 外部文件。
我为什么要这个? 有许多网站在创建 and/or 增强算法方面对开发人员提出挑战。问题是这些站点中的大多数并不都是你使用clojure 的,也不是clojurescript 的。但他们确实让你使用 javascript.
这些站点通常也允许您使用 Java...因此,如果有其他方法,也许可以导出 "java" 文件,而不是 Class 文件,那也行。我怀疑那是可能的,但我想我会问。
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