从Clojurescript创建NodeJS可运行的单个javascript文件

时间:2017-11-07 05:59:24

标签: javascript java node.js clojurescript

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

如何使用可由NodeJ运行的ClojureScript编译器(cljs.jar)从clojurescript创建单个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})

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

为什么我要这个? 有许多网站在创建和/或增强算法方面存在开发人员挑战。问题是,大多数这些网站并不是所有你使用clojure,也不是clojurescript。但他们确实允许你使用javascript。

这些网站通常也允许您使用Java ...所以如果有另一种方式可能导出“java”文件,而不是类文件,那也可以。我怀疑那可能,但我想问。

1 个答案:

答案 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