【问题标题】:What's the scalajs equivalent of per page javascript?每页javascript的scalajs等价物是什么?
【发布时间】:2017-08-13 12:01:31
【问题描述】:

假设我已经有一个 play 应用,有三四页,每一页底部都有一个单独的 javascript 脚本文件导入。

例如

   <script src="@routes.Assets.versioned("javascripts/detailsPage.js")" type="text/javascript"></script>

每个都包含一些特定的行为 - jquery 事件,或该页面的 EventSource 侦听器,这在其他页面上不是必需的。 (EventSource 并非在每个页面上)。

接下来,我想试试 scalajs。但这会产生一个脚本文件,预计将包含在所有页面中。我不担心开销 - javascript 文件将被缓存。

但是构造我的 scalajs 以便我可以在每个页面中包含适当的行为的等效方法是什么?

【问题讨论】:

    标签: scala playframework scala.js


    【解决方案1】:

    我不知道这里的规范答案是什么,但最终做了以下事情:

    每个“脚本”都在具有单个@JSExportTopLevel(需要scalajs 0.6.15 或更高版本)函数的对象中声明:

    @JSExportTopLevel("enhancedFrobnication")
    def main(): Unit = {
    }
    

    然后将完整的 scalajs 文件包含在 main 方法中,并在包含之后在简短的 &lt;script&gt; 部分中打开特定的功能位:

        <script type="text/javascript">enhancedFrobnication();</script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 2018-12-08
      • 1970-01-01
      相关资源
      最近更新 更多