You are trying to import stuff.js twice. Once via require.js and once via
@Import. I get the feeling it's the @Import that's failing.
On 2 Oct 2013 14:13, "Geoff Callender" <[email protected]>
wrote:
> I'm desperately seeking an up-to-date example of custom javascript,
> because nothing I've tried works. Here's one attempt that failed...
>
> package myapp.pages;
>
> import javax.inject.Inject;
>
> import org.apache.tapestry5.annotations.Import;
> import org.apache.tapestry5.json.JSONObject;
> import org.apache.tapestry5.services.javascript.JavaScriptSupport;
>
> @Import(stack = { "core" }, library = { "stuff.js" })
> public class Index2 {
>
> @Inject
> private JavaScriptSupport jsSupport;
>
> void afterRender() {
> JSONObject params = new JSONObject();
> jsSupport.require("pages/stuff").with(params);
> }
>
> }
>
> ...In my WAR is /META-INF/modules/pages/stuff.js...
>
> define(["jquery", "t5/core/console"], function($, console) {
> return function(params) {
> console.warn("jQuery version: " + $().jquery);
> };
> });
>
> ...The javascript console shows good news...
>
> Loading library /myapp/asset.gz/app/495033b1/pages/stuff.js
>
> ...followed by bad news...
>
> Failed to load resource: the server responded with a status of 404 (Not
> Found) http://gc1.local:8080/myapp/asset.gz/module/pages/stuff.js
>
> Cheers,
>
> Geoff
>
>
>