Hi Gael, Thanks for your reply. Yes, I was aware of fanstatic and it looks very interesting. And it does provide lots of the same features: bundles, dependency tracking, development/production differentation. But, to be honest, I am not sure yet, if I like the approach of 'including' .css and .js-files in Python code instead of html.
Also, require.js offers a central feature which cannot be done externally in Python: Proper import-functionality within your javascript. What I mean: When you include libraries via require, they are only injected into the current js module scope. So, they do not pollute the global javascript scope. Basically, require.js is like a module/package system for javascript. (sorry if you knew this already, just wanted to give an explanation). So, I don't really see a way around require.js. Hence my question above how to switch static directories. (On a side note: I might include fanstatic later anyway, because of the versioning which looks great. But, require.js is already one dependency that wraps my original javascript and I'd like to avoid another wrapper for the moment). On Jan 16, 3:20 pm, Gael Pasgrimaud <g...@gawel.org> wrote: > Hi! > > Not really an answer... and also a bit off topic. But are you aware of > Fanstatic[1] ? > I've wrote a pyramid_fanstatic package to use it as a pyramid tween[2] > And a blog post about how to use lesscss with all that stuff[3] > > May be it can feet your needs... > > [1]http://www.fanstatic.org/en/0.11.2/index.html > [2]http://pypi.python.org/pypi/pyramid_fanstatic > [3]http://www.gawel.org/weblog/en/2011/12/Using_lesscss_with_pyramid_and... > > > > > > > > On Mon, Jan 16, 2012 at 3:08 PM, Marius Gedminas <mar...@gedmin.as> wrote: > > On Mon, Jan 16, 2012 at 05:28:45AM -0800, Martin Stein wrote: > >> For the current project at work, we are looking into using require.js > >> (http://requirejs.org/) to combine, modularize and minify our > >> javascript. So, basically, we need to have a server-side build step > >> before serving our static files. Our plan is as follows: > > >> - have our pre-build javascript files in the usual '/static' directory > >> - put the results from require's optimizer to a '/static-build' > >> directory. (The require.js docs recommend a separate directory.) > > >> Depending on development or production scenario (taken from .ini- > >> file), the static files should be served from one or the other > >> directory. However, so far I don't see a nice approach to this. When > >> we started the project, we used the normal Pyramid approach in our > >> templates. In our __init__.py, we have something like: > > >> config.add_static_view('static', 'myproject:static', > >> cache_max_age=3600) > > >> In the jinja-template, we created the links with > > >> <script src="{{request.static_url('myproject:static/js/ > >> application.js')}}" type="text/javascript"></script> > > >> But if the directory changes from 'static' to 'static-build', we would > >> have to change all our static_url(..) calls. Is there a way to make > >> the resource 'myproject:static' refer to a different directory, > >> depending on .ini configuration? > > >> One approach would be to read the resource directory from the .ini > >> file and add the static view like this: > > >> config.add_static_view('static', RESOURCE_FROM_INI, > >> cache_max_age=3600) > > >> Then, you could refer to the files like this: > > >> <script src="{{ request.script_name }}/js/application.js'" type="text/ > >> javascript"></script> > > > I think {{ request.application_url }}/js/application.js is more > > appropriate here. > > >> (note that you need the 'script_name', because on the production > >> server your application might be deployed under a URL prefix). But the > >> 'request.script_name' approach looks kind of hacky to me and it means > >> we'd have to replace all our static_url(..)-calls. Do you see another > >> way to do this elegantly? > > >> The trend for larger javascript-heavy apps seems to be going towards > >> require.js, so I think a nice solution for this problem will be > >> interesting for lots of people. > > > /me is listening with interest > > > Marius Gedminas > > -- > > Colorless green ideas sleep furiously. -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to pylons-discuss@googlegroups.com. To unsubscribe from this group, send email to pylons-discuss+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en.