I solved this problem for my web app in a different way, which might be 
worth considering.  My entire ClojureScript project compiles to a single JS 
file which is used by every single page.  I organized things such that each 
page had a cljs namespace associated with it, which has an "init" function. 
 So for instance, "/foo/bar.html" would know to call (myapp.foo.bar/init) 
on load, and "/baz/hello/world.html" would call 
(myapp.baz.hello.world/init) on load.  This is just one way to organize 
things, but it works pretty well for me.

The advantage of this approach is that you only have to download the giant 
ball of JS once, and then it's cached for as long as you like.

The disadvantage of this approach is that the giant ball is, well, pretty 
giant.  I think that it makes sense to use the single JS file for 
reasonably complex apps, where your application code is small in comparison 
to the ClojureScript standard library.  In that case, the whole JS file 
will not be much bigger than just the standard library itself.  Of course, 
if your app is very large (several tens of thousands of lines of code), and 
you really need to get the initial JS size down, you will have to do 
something more sophisticated.

On Sunday, January 27, 2013 4:54:59 AM UTC-8, Marcus Holst wrote:
>
> Building a traditional multipage webapp and using only some cljs code on 
> the pages requires me to put all the cljs overhead output in one single 
> file that can be cached by the browser (in order to not have to load the 
> same 130+ k cljs overhead for each page). I've tried creating an empty 
> namespace containing only the overhead compilation, and then requiring it 
> from one of my page specific cljs files. However this just spits out 
> endless amounts of warnings. Have anyone done this before?
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en


Reply via email to