ol.js is not a module, it's an asset. That's why you're shimming it. So instead of putting it in resources/META-INF/modules/, try putting it in resources/META-INF/assets/js/.
On 18 Jun 2014, at 5:11 pm, 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