Re: Contribute requirejs.config.paths to ModuleManager

Chris Poulsen <[email protected]>
Newsgroups gmane.comp.java.tapestry.user
Message-ID <CAFKtUSsJvNUAjF2df-zArD9q_Uw_NFOdyCtReaA4RWo_7hpwJA@mail.gmail.com>
Hi,

It has been a while since I last fought the module system, but in some
cases I've used a request filter to map between module and asset paths
(triggering on known module paths and then returning permanent redirects to
the actual asset urls in the filter) - This was necessary in order to get
stuff like CK editor to load properly as a module and still allowing it to
dynamically require its plugins IIRC.

-- 
Chris


On Mon, Nov 27, 2017 at 2:14 PM, Svein-Erik Løken <[email protected]> wrote:

> Got this error message (very informative):
>
> org.apache.tapestry5.ioc.util.UnknownValueException
> Unable to create a client URL for classpath resource
> META-INF/modules/react/react.min.js: The resource path was not within an
> aliased path.
> availableValues
> Aliased paths:
> • META-INF/assets
> • META-INF/assets/core
> • META-INF/assets/democore
> • com/demo/core
> • com/demo/module1
> • com/demo/module1
> • org/apache/tapestry5
> • org/apache/tapestry5
>
>
>
> Tried other locations:
>
> public class ReactStack implements JavaScriptStack {
>     private final AssetSource assetSource;
>
>     public ReactStack(final AssetSource assetSource) {
>         this.assetSource = assetSource;
>     }
>
>     public List<Asset> getJavaScriptLibraries() {
>         List<Asset> ret = new ArrayList<>();
> //        ret.add(assetSource.getClasspathAsset("/META-INF/
> modules/react/react.min.js"));
> //        ret.add(assetSource.getClasspathAsset("/META-INF/
> assets/react/react.min.js"));
> //        ret.add(assetSource.getClasspathAsset("/META-INF/
> assets/react/react.js"));
> //        ret.add(assetSource.getClasspathAsset("/META-INF/
> assets/react.min.js"));
>         ret.add(assetSource.getClasspathAsset("/META-INF/
> assets/react.js"));
>         return ret;
>     }
>
>
> Still getting:
> Loading 1 libraries
> Loading library /assets/meta/z94ea83c9/react.js
> Executing 3 inits
> Loaded module bootstrap/collapse
> GET http://localhost:9876/modules.gz/react.js 404 (No module for path
> 'react.js'.)
>
> Very strange that the virtual link does not work!
>
> S-E
>
>
> From: Thiago H de Paula Figueiredo [via Apache Tapestry Mailing List
> Archives] [mailto:[email protected]]
> Sent: mandag 27. november 2017 13:32
> To: Svein-Erik Løken <[email protected]>
> Subject: Re: Contribute requirejs.config.paths to ModuleManager
>
> On Sun, Nov 26, 2017 at 10:40 AM, Svein-Erik Løken
> </user/SendEmail.jtp?type=node&node=5733729&i=0> wrote:
>
> > Source code:
> >
>
> > @Contribute(JavaScriptStackSource.class)
> > public static void addMyStack(MappedConfiguration<String,
> > JavaScriptStack> configuration) {
> >     configuration.addInstance("react", ReactStack.class);
> > }
> >
> > @Contribute(JavaScriptStack.class)
> > @Core
> > public static void addAppModules(OrderedConfiguration<StackExtension>
> > configuration) {
> >     configuration.add("react", StackExtension.module("react"));
> > }
> >
>
> These look correct. ^^^
>
> > public class ReactStack implements JavaScriptStack {
> >     private final AssetSource assetSource;
> >
> >     public ReactStack(final AssetSource assetSource) {
> >         this.assetSource = assetSource;
> >     }
> >
> >     public List<Asset> getJavaScriptLibraries() {
> >         List<Asset> ret = new ArrayList<>();
> >         ret.add(assetSource.getClasspathAsset("/META-INF/
> > assets/react.min.js"));
> >         return ret;
> >     }
> >
> >     @Override
> >     public List<String> getModules() {
> >         List<String> ret = new ArrayList<>();
> >         ret.add("react");
> >         return ret;
> >     }
> >
>
> I believe your error was having the getModules() method above return a list
> with 'react'. According to its JavaDoc, getModules() must return the
> modules on which this stack depends. It doesn't actually depend on the
> 'react' module. Please try having that method return an empty List and tell
> us what happens.
>
> You may also need to move react.min.js to
> /META-INF/modules/react/react.min.js.
>
> ________________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://apache-tapestry-mailing-list-archives.1045711.
> n5.nabble.com/Contribute-requirejs-config-paths-to-ModuleManager-
> tp5733721p5733729.html
> To unsubscribe from mailto:[email protected] Mailing List
> Archives, http://apache-tapestry-mailing-list-archives.1045711.
> n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=
> 2375125&code=c3ZlaW5AamFjaWxsYS5ub3wyMzc1MTI1fC0xNTM4NzY2ODg4.
> http://apache-tapestry-mailing-list-archives.1045711.
> n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%
> 21nabble%3Aemail.naml&base=nabble.naml.namespaces.
> BasicNamespace-nabble.view.web.template.NabbleNamespace-
> nabble.view.web.template.NodeNamespace&breadcrumbs=
> notify_subscribers%21nabble%3Aemail.naml-instant_emails%
> 21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.