使用 Google Closure 编译过的纯 .js 文件在 lein-cljsbuild 中构建 ClojureScript 项目

5

我希望在我的ClojureScript项目中使用一些纯.js文件。我正在使用lein-cljsbuild构建它,并且这些.js文件是具有适当的goog.provide声明的标准Google Closure命名空间。因此,基本上我想要的是将它们合并到进入Closure Compiler的编译源中。这是否可行?


1
@lennel 我非常确定这不是一个 extern。他们正在询问如何将一个额外的 js 源文件与他们生成的 clojure 源文件一起传递给 closure-compiler。 - Chad Killingsworth
据我所知,这只是关于将.js文件放入compiler.jar命令中,对吗? - tillda
@tillda 是的,我也这么认为。(:use [myapp.myns :as myns]) 可能会被翻译成 goog.require("myapp.myns"),以便编译器.jar可以找到myapp.myns。但是,它必须在deps.js中有一个条目才能被找到,但你可以让calcdeps.py为你添加这些条目。 - HMR
请看这里:http://lukevanderhart.com/2011/09/30/using-javascript-and-clojurescript.html - Rodrigo Taboada
嗯,实际上rtaboada已经链接到了一个带有正确答案的帖子。@rtaboada:您想在这里发布一个答案吗? - Michał Marczyk
显示剩余3条评论
1个回答

2

您应该能够将支持Closure的JS文件添加到构建规范中:compiler关键字下的:libs中:

;; in project.clj
:cljsbuild {:builds [{:source-paths [...]
                      :compiler {:libs ["foo.js"]    ; <- add the libs here
                                 ...}}]}

谢谢!一些给未来读者的注释:https://groups.google.com/forum/#!topic/clojurescript/Xi515LCv6kU - tillda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接