【问题标题】:Single Output File for Multiple Pages多页的单个输出文件
【发布时间】:2015-08-13 13:41:45
【问题描述】:

作为Project organization and cljsbuild config to require namespace 的后续行动。如果我只有一个输出文件,我如何指定在每个单独的网页上运行什么代码?

一种方法可能是在每个页面中包含一个脚本标签<script>myproject.somepage.init();</script>。有普遍接受的方法吗?

【问题讨论】:

  • 我没有看到比这更明显的方法了。你的方法没有错。确保你 ^:export 你的函数,这样它才能在高级编译中存活下来。但也许你想使用模块?

标签: clojurescript


【解决方案1】:

我认为上一个问题是在单页应用程序的上下文中解释的,其中拥有多个输出文件是没有意义的。

如果您需要在不同的网页中使用不同的行为,我建议您为每个网页设置一个入口命名空间,使用 :main 选项:

:cljsbuild {:build [{:id "login"
                     :main my-login.entry
                     :output-to "resources/public/js/login.js"
                     :optimizations :advanced}
                    {:id "feed"
                     :main my-feed.entry
                     :output-to "resources/public/js/feed.js"
                     :optimizations :advanced}]}}

然后在每个网页上都需要这些文件。

如果my-feed.entrymy-login.entry 需要不同的代码,这种方法是值得的,而且将feed 的所有代码也交付给login 将是一种浪费。如果行为几乎相同,并且只是一个参数或一个函数调用的问题,那么您的建议很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多