多个页面的单个输出文件
Single Output File for Multiple Pages
作为 的后续行动。如果我只有一个输出文件,如何在每个单独的网页上指定 运行 的代码?
一种方法可能是在每个页面中包含一个脚本标记 <script>myproject.somepage.init();</script>
。是否有普遍接受的方法?
我认为前一个问题是在单页应用程序的上下文中解释的,在这种情况下,拥有多个输出文件没有意义。
如果您需要在单独的网页中使用不同的行为,我建议您使用 :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.entry
和 my-login.entry
需要不同的代码,那么这种方法是值得的,并且将 feed
的所有代码也传递给 [=15 是一种浪费=].如果行为几乎相同,并且只是一个参数或一个函数调用的问题,那么您的建议很好。
作为
一种方法可能是在每个页面中包含一个脚本标记 <script>myproject.somepage.init();</script>
。是否有普遍接受的方法?
我认为前一个问题是在单页应用程序的上下文中解释的,在这种情况下,拥有多个输出文件没有意义。
如果您需要在单独的网页中使用不同的行为,我建议您使用 :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.entry
和 my-login.entry
需要不同的代码,那么这种方法是值得的,并且将 feed
的所有代码也传递给 [=15 是一种浪费=].如果行为几乎相同,并且只是一个参数或一个函数调用的问题,那么您的建议很好。