假设我有两个页面共享很多代码,许多库等,但有一些差异。举一个具体的例子,我包含了jQuery,并且在每个页面中都有“document ready”(又名$(function() { ... })
)中的不同功能。
使用JS很容易。我会在每个页面中包含jQuery,并在每个页面上包含<script>
的不同内容,或在script-behind-page-A.js
中包含pageA.html
,在script-behing-page-B.js
中包含pageB.html
。< / p>
如何使用ClojureScript获得相同的结果?
我怀疑编译输出是如此之大,以至于编译器会发出一大堆JavaScript。在这种情况下,它显然不能有两个不同的“文档就绪”功能。
建议的流程是否使代码主要包含使您能够执行的功能,初始化的状态变量很少,并根据需要使用普通JS单独初始化每个页面?
答案 0 :(得分:5)
我认为推荐的方法将是ClojureScript tutorial by Mimmo Cosenza中解释的内容:
在每个HTML文件上,调用所需的“入口点函数”,如下所示:
<!-- on the bottom of welcome.html -->
<script src="js/output.js"></script>
<script>myapp.welcome.init();</script>
<!-- on the bottom of login.html -->
<script src="js/output.js"></script>
<script>myapp.login.init();</script>
详细解释了part 6 of the tutorial。