Thanks for the tip, Mimmo!

On Sunday, January 27, 2013 11:33:46 PM UTC+1, Mimmo Cosenza wrote:
>
> Hi Marcus, I found the same solution Evan suggested to you. You can read 
> about it here.
>
> https://github.com/magomimmo/modern-cljs/blob/master/doc/tutorial-06.md
>
> and you can also define a single init function which is shared by each 
> source cljs files by passing it the parameters you need to setup each html 
> page differently. (A kind of abstraction to apply the DRY principle).
>
> Mimmo
>  
> On Jan 27, 2013, at 10:03 PM, Marcus Holst <holst....@gmail.com<javascript:>> 
> wrote:
>
> Thanks Evan!
> I actually already started along this big js blob path and was just 
> beginning to see the problem with clashing page inits. Your solution with 
> an init func per page will probably do just fine for me too so I'll try 
> that now. With conditional caching on the big js file, it should only need 
> to be loaded once per site release, so it should also be ok.
>
>
>
> On Sunday, January 27, 2013 9:37:32 PM UTC+1, Evan Mezeske wrote:
>>
>> 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 clo...@googlegroups.com <javascript:>
> Note that posts from new members are moderated - please be patient with 
> your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com <javascript:>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>  
>  
>
>
>

-- 
-- 
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