是否可以将Ccljurescript与Google Closure模板一起使用?
我环顾四周,但没有找到任何有关此事的信息。
答案 0 :(得分:2)
由于Soy Templates被编译为JavaScript函数,您应该可以毫无问题地使用它。在这里查看如何在ClojureScript中使用外部JavaScript库的一般说明:
http://lukevanderhart.com/2011/09/30/using-javascript-and-clojurescript.html
您还应使用此标记编译模板:--shouldProvideRequireSoyNamespaces
,查看here以获取更多信息。
答案 1 :(得分:1)
Google Closure模板应该可以在ClojureScript中使用而不会有太多麻烦。尝试在正常的ClojureScript文件顶部引用goog.whatever命名空间。如果您没有使用高级模式编译,那么在HTML页面中使用goog.require引用您的cljs文件的命名空间。否则,在高级模式下编译时不需要goog.require。
因此,如果你有一个名为foo的项目,一个名为bar的ClojureScript文件,并且你想在没有高级模式的情况下使用goog.dom,你可以尝试这样的事情:
cljs文件
(ns foo.bar
(:require [goog.dom :as dom]))
index.html中的
<script type="text/javascript" src="js/compiled.js"></script>
<script type="text/javascript">
goog.require('foo.bar');
</script>
twitterbuzz sample就是一个很好的例子。