As Aurelia supports buch of build systems (loader and bundler), is there a significant difference when using one instead of the other.
Actually, when I started working with SPA, I used Aurelia with skeleton-navigation. Later I used dotnet-core with webpack like below
HotModuleReplacement = true
Because it seems like easy to understand, nowadays I use Fusebox loader mostly.
Requesting your suggestions on the bundler-loader choice significance in terms of development benefits and production benefits.
Praveen Gandhi P.
Just a side note, the
PLATFORM.moduleName() is going away and won’t be necessary anymore in Aurelia 2. That was mentioned by core team member somewhere in a Discourse article or in their GitHub, though I forgot where exactly, so I can’t link it.
Here’s the link where it’s mentioned that
PLATFORM.moduleName() is going away in Aurelia 2.
I use Aurelia in a lot of composite UI/micro-services projects and prefer requirejs because it is the easiest to get working with that pattern. I used to still wrap everything in
PLATFORM.moduleName anyways so that I could swap build systems if I had a reason to but since I heard it is going away I’ve stopped.
Personally, I also feel more comfortable modifying gulp scripts than a webpack config. I’ve done many a deep dive into webpack but feel like I need a Ph.D to get everything I need out of it. Gulp may be a little slower sometimes but I know that I can get exactly what I want every time.
Once upon a time I wrote off Alameda but can’t recall the reason. I suggest some research on trade-offs if you’re down to just those two.
RollupJS looks better and better every time I see it being used. Here’s a short video that makes it look very easy: https://twitter.com/DasSurma/status/1161293821105364993.
I prefer RequireJS for older browsers and Alameda for newer. The reason I prefer it before webpack is that the resulting code is way easier to read in my eyes. That makes debugging easy and I don’t need / use sourcemaps. This also gives me a better knowledge of what is the transpiled result and what it means to the performance in terms of executed code etc.
I only recognized in an edge case a downside that I couldn’t used two aurelia applications on one page. Both had different sources and aurelia versions. The aurelia amd config doesn’t support contexts which means the one application loads sources from the other applications as they share the module context.
Anyhow that’s a very rare edge case and I still prefer alameda