Modern frontend workflows in Liferay Portal

Dear Liferay Developers:

We would like to share with you a new feature we have been working in very hard during the last months.

As we all know, Liferay Portal’s current support for frontend development does not fully meet the expectations of the standard frontend developer. These expectations include leveraging npm, the most used package manager, to manage dependencies in projects. This cannot be done with the current tooling unless you apply some effort and tweaks in the build process. Even after doing that, the current AMD Loader does not implement semantic versioning which may lead to problems when trying to make portlets cooperate between them.

To fix that situation we have extended the Portal, the AMD Loader, and created a set of tooling to let you use npm in your projects so that you can then deploy them to the Portal and see everything working seamlessly with little effort. 

Also, we have taken into account the modularity of the Portal from the beginning so that even portlets that don’t know each other may share npm packages with zero configuration, optimizing the performance and not overloading the browser with multiple instances of the same package.

This magic is mainly done by the new liferay-npm-bundler tool, a bundler inspired by others like Browserify or Webpack that targets Liferay Portal as the platform for deployment. 

You can find more information about the use of this new feature in the Liferay Developer Network, under this section.

Also, we have prepared some examples demonstrating the use of the most popular frameworks out there (like Angular, React, Vue.js, …) inside portlets. You can check them here.

And of course, you can hear us talking about this stuff in the upcoming events:

See you there or in the cyberspace!

Blogs
Hi guys
Thanks lot for your effort, this are very good news!!!
I will try this soon.
Is it ready to use or do we have to wait till GA5 is out?
Cheers Severin
The example works great, but I can't get anything beyond that to work. I get an error saying "Path liferay-prompt-ui@1.0.0/lib/components/TaskContainer.js does not start with a "/" character"
Is there a place where I can post this question to get some help? Thanks!