Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Clojurescript创建NodeJS可运行的单个javascript文件_Javascript_Java_Node.js_Clojurescript - Fatal编程技术网

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

从Clojurescript创建NodeJS可运行的单个javascript文件,javascript,java,node.js,clojurescript,Javascript,Java,Node.js,Clojurescript,使用Lumo和下面提到的文件,我能够运行$node main.js和presto!“你好,世界!”。这很好,但是使用Lumo有缺点,我想知道使用cljs.jar是否可以做到这一点 如何使用clojurescript编译器(cljs.jar)从clojurescript创建一个可以由NodeJs运行的javascript文件 core.cljs node.cljs 目标是拥有一个包罗万象的单一文件,无需导入/需要外部文件 我为什么要这个? 有许多网站在创建和/或增强算法方面存在开发者挑战。问题是,

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

如何使用clojurescript编译器(cljs.jar)从clojurescript创建一个可以由NodeJs运行的javascript文件

core.cljs node.cljs 目标是拥有一个包罗万象的单一文件,无需导入/需要外部文件

我为什么要这个? 有许多网站在创建和/或增强算法方面存在开发者挑战。问题是,这些网站中的大多数都不允许您使用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})
生成命令

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

在您当前的设置中,什么不起作用?不使用
节点生成。cljs
生成一个可以使用
节点运行的javascript文件。哦,您使用的是
lumo.build.api
。我想你也可以这样做。我试图生成一个可以由NodeJs执行的文件的所有尝试都失败了。其中包括进口声明。关键是不要导入任何东西,我想有一个包罗万象的文件。我更新了这篇文章以澄清问题。根据我的测试,这包括谷歌的进口关闭功能。我已经用澄清更新了评论。我想生成一个包含所有必需库的javascript文件。如果添加
:optimizations:advanced
或:simple,它会将所有DEP捆绑到一个文件中。谢谢!IDK我迷路了,但你的解决方案奏效了。(需要'cljs.build.api'(cljs.build.api/build“src”{:main'hello-world.core:输出到“main.js”:优化:高级:目标:nodejs})我专注于使用
lein run-m clojure.main node.clj
我得到
的原因是:java.io.FileNotFoundException:在类路径上找不到cljs/build/api_uinit.class或cljs/build/api.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