假设我已经有一个播放应用程序,有三个或四个页面,每个页面底部都有一个单独的javascript脚本文件。
例如
<script src="@routes.Assets.versioned("javascripts/detailsPage.js")" type="text/javascript"></script>
每个都包含一些特定的行为--jquery事件,或该页面的EventSource侦听器,这在其他页面上是不必要的。 (事件来源不在每一页上)。
前进,我想尝试一下scalajs。但是这会生成一个脚本文件,该文件希望包含在所有页面中。我并不担心开销 - javascript文件将被缓存。
但是,构建我的scalajs的等效方式是什么,以便我可以在每个页面中包含适当的行为?
答案 0 :(得分:0)
我不知道这里的规范答案是什么,但最终做了以下事情:
每个“脚本”都在一个具有单个@JSExportTopLevel
(需要scalajs 0.6.15或更高版本)功能的对象中声明:
@JSExportTopLevel("enhancedFrobnication")
def main(): Unit = {
}
然后将完整的scalajs文件包含在main方法中,并在包含该文件后,在短<script>
个部分中打开特定的功能位:
<script type="text/javascript">enhancedFrobnication();</script>