Not a bug. If you put actual modules in resources/META-INF/modules/, then they work fine. Put non-modules in resources/META-INF/assets/ and make them available as modules as I showed below by contributing to ModuleManager.
On 18 Jun 2014, at 5:27 pm, Sanket Sharma <sanketsha...@gmail.com> wrote: > Okay, it works if I place my javascript under /META-INF/assets/js > > Bug? Or does everything have to be under assets? It doesn't seem to pick up > resources under META-INF/modules. > > > On Wed, Jun 18, 2014 at 9:11 AM, Sanket Sharma <sanketsha...@gmail.com> > wrote: > >> >> Nope. Doesn't work. I have my javascript files in the project under >> resources resources/META-INF/modules/ol/ol.js >> >> Does it map the META-INF/modules to a virtual resource? In your code I'm >> as suing there is a folder under META-INF called assets/js? >> >> If I use @Path("/META-INF/modules/ol/ol.js") corresponding to my folder >> structure it fails with the error below: >> Unable to locate asset 'classpath:modules.gz/modules/ol/ol.js' (the file >> does not exist). >> >> In the deployed file, it seems all javascript files are gzipped under >> context-root/modules.gz And thats where its loading all the javascript from. >> >> >> >> >> >> >> On Wed, Jun 18, 2014 at 3:41 AM, Geoff Callender < >> geoff.callender.jumpst...@gmail.com> wrote: >> >>> Here's one that worked, producing a module called jquery-ui: >>> >>> public static void >>> contributeModuleManager(MappedConfiguration<String, Object> configuration, >>> @Path("/META-INF/assets/js/jquery-ui-1.9.1.js") Resource >>> jqueryUi) { >>> configuration.add("jquery-ui", new >>> JavaScriptModuleConfiguration(jqueryUi)); >>> } >>> >>> HTH, >>> >>> Geoff >>> >>> On 18 Jun 2014, at 10:25 am, Sanket Sharma <sanketsha...@gmail.com> >>> wrote: >>> >>>> Hi, >>>> >>>> How do I convert a non AMD javascript module to work with require.js? >>>> >>>> I did some investigate and it seems like shimming is the way to go. >>>> I would like to take a javascript file ol.js and shim to to export 'ol'. >>>> The file is located under modules and is packaged in META-INF/modules >>>> directory in the standard tapestry way. >>>> >>>> Reading source code and documentation seems to suggest it can be done in >>>> the following way: >>>> >>>> @Contribute(ModuleManager.class) >>>> public static void setupOpenLayersConfiguration( >>>> MappedConfiguration<String, Object> mappedConfiguration, >>>> @Inject @Path("classpath:META-INF/modules/ol/ol.js") Resource ol) { >>>> JavaScriptModuleConfiguration openLayers = new >>>> JavaScriptModuleConfiguration(ol); >>>> openLayers.exports("ol"); >>>> mappedConfiguration >>>> .add("ol", openLayers); >>>> } >>>> >>>> What is the correct syntax to refer to inject this file as a resource? >>> The >>>> above class path syntax seems to be failing. >>>> >>>> Is there a pure Javascript way as well? Been trying to play with >>>> config/shim blocks but couldn't get it working. >>>> >>>> Any help would be appreciated. >>>> >>>> Best Regards, >>>> Sanket >>> >>> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org