Yesod:维护JavaScript和Julius文件的顺序

Sib*_*ibi 5 javascript haskell yesod yesod-julius

假设我要结合一堆Javascript和Julius文件。我这样做是这样的:

jsWidget :: Widget
jsWidget = do
           addScript $ StaticR js_test1_js
           toWidget $(juliusFile "static/js/gis/sample.julius")
           addScript $ StaticR js_test2_js
           addScript $ StaticR js_test3_js
Run Code Online (Sandbox Code Playgroud)

但是上述方法的问题在于,Yesod会获取小部件中的所有Julius文件,并将它们转换为单个文件(autogen-xxx.js),然后将其附加到末尾。尽管这是一个很好的优化,但这破坏了我的JavaScript代码。有办法解决这个问题吗?

Sib*_*ibi 4

不幸的是,这无法做到。这是邮件列表上有关该问题的讨论。

为了避免这个问题,我将所有文件都转为Javascript并使用addScript添加它们。这保持了正确的顺序。Julius 文件中使用变量插值的地方需要使用其他技术重写。