Yesod: Maintaining order of JavaScript and Julius Files

413 views Asked by At

Let's say I want to combine a bunch of Javascript and Julius file. I do it like this:

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

But the problem with the above approach is that Yesod takes all the Julius file in the widget and converts them to a single file (autogen-xxx.js) and appends it at the end. Although this is a good optimization, this breaks my JavaScript code. Is there a way to solve this problem ?

1

There are 1 answers

0
Sibi On BEST ANSWER

Unfortunately this cannot be done. This is the discussion that went on the mailing list regarding the problem.

In order to avoid this problem, I turned all the files into Javascript and added them using addScript. That maintains the correct order. The places where you have used variable interpolation in Julius files needs to be re-written using some other technique.