<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Web component inside Liferay DXP</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=120507352" />
  <subtitle>Web component inside Liferay DXP</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=120507352</id>
  <updated>2026-04-05T17:29:43Z</updated>
  <dc:date>2026-04-05T17:29:43Z</dc:date>
  <entry>
    <title>RE: Web component inside Liferay DXP</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120507956" />
    <author>
      <name>Christoph Rabel</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120507956</id>
    <updated>2020-12-18T15:55:15Z</updated>
    <published>2020-12-18T15:55:15Z</published>
    <summary type="html">&lt;p&gt;That's because it isn't an app, it just adds the infrastructure js
  code. If it works correctly, it just registers a loader in the theme.
  When you check the source code of the page, you should find something
  like this in the footer:&lt;/p&gt;
&lt;div class="highlight highlight-source-js"&gt;
  &lt;pre&gt;&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span
      class="pl-ent"&gt;link&lt;/span&gt; &lt;span class="pl-c1"&gt;href&lt;/span&gt;&lt;span
      class="pl-c1"&gt;=&lt;/span&gt;&lt;span
      class="pl-s"&gt;'&amp;lt;PATH&amp;gt;/app.css?&amp;lt;HASH&amp;gt;'&lt;/span&gt; &lt;span
      class="pl-c1"&gt;rel&lt;/span&gt;&lt;span class="pl-c1"&gt;=&lt;/span&gt;&lt;span
      class="pl-s"&gt;'stylesheet'&lt;/span&gt;/&lt;span
      class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span
      class="pl-s1"&gt;script&lt;/span&gt; &lt;span class="pl-s1"&gt;src&lt;/span&gt;&lt;span
      class="pl-c1"&gt;=&lt;/span&gt;&lt;span
      class="pl-s"&gt;'&amp;lt;PATH&amp;gt;/runtime.js?&amp;lt;HASH&amp;gt;'&lt;/span&gt;&lt;span
      class="pl-c1"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;/&lt;span
      class="pl-ent"&gt;script&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
&lt;span
      class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;script&lt;/span&gt; &lt;span
      class="pl-c1"&gt;src&lt;/span&gt;&lt;span class="pl-c1"&gt;=&lt;/span&gt;&lt;span
      class="pl-s"&gt;'&amp;lt;PATH&amp;gt;/vendor.js?&amp;lt;HASH&amp;gt;'&lt;/span&gt;&lt;span
      class="pl-c1"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;/&lt;span
      class="pl-ent"&gt;script&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;
&lt;span
      class="pl-c1"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;script&lt;/span&gt; &lt;span
      class="pl-c1"&gt;src&lt;/span&gt;&lt;span class="pl-c1"&gt;=&lt;/span&gt;&lt;span
      class="pl-s"&gt;'&amp;lt;PATH&amp;gt;/app.js?&amp;lt;HASH&amp;gt;'&lt;/span&gt;&lt;span
      class="pl-c1"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;lt;&lt;/span&gt;/&lt;span
      class="pl-ent"&gt;script&lt;/span&gt;&lt;span class="pl-c1"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
  &lt;p&gt;When you put a webcomponent now on the page, the code is triggered.
    You can do this using webcontent, a fragment, inside of a portlet, ...&lt;/p&gt;
  &lt;p&gt;To test it, add a webcontent or fragment to the page with these tags:&lt;/p&gt;
  &lt;pre&gt;&lt;span class="pl-kos"&gt;&amp;lt;&lt;/span&gt;&lt;span
      class="pl-ent"&gt;hello-world&lt;/span&gt;/&amp;gt;
&lt;span
      class="pl-kos"&gt;&amp;lt;&lt;/span&gt;&lt;span
      class="pl-ent"&gt;app-today&lt;/span&gt; /&amp;gt;
&lt;span
      class="pl-kos"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;app-shuffle&lt;/span&gt; /&amp;gt;&lt;/pre&gt;
  &lt;p&gt;The tags should be picked up by the module and replaced.&lt;/p&gt;
  &lt;p&gt;Note: It is quite possible that the module isn't deployed correctly
    at all, you probably need to fix the kernel version in build.gradle.&lt;/p&gt;&lt;/div&gt;</summary>
    <dc:creator>Christoph Rabel</dc:creator>
    <dc:date>2020-12-18T15:55:15Z</dc:date>
  </entry>
  <entry>
    <title>RE: RE: Web component inside Liferay DXP</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120509499" />
    <author>
      <name>Nikola Radojicic</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120509499</id>
    <updated>2020-12-18T12:15:11Z</updated>
    <published>2020-12-18T11:29:21Z</published>
    <summary type="html">&lt;p&gt;Hi Christoph, i have tried this solution with dccs-frontend-demo. As
  result of build i have  dccs-frontend-demo.jar in bundles/osgi/modules
  folder. I am using liferay dxp localy on my machine (version 7.3), and
  i have copied this jar into this
  folder C:\liferay-dxp-tomcat-7.3.10-ga1-20200930160533946\liferay-dxp-7.3.10-ga1\osgi\modules,
  but when i run Liferay dxp application i cannot find this app in
  search. I don't know what to do to make this jar app to be visible in
  this widgets search ?&lt;img src="/documents/14/0/liferay+dxp.png/c6572ff7-7d78-efcc-12fc-a87db16c1892?t=1608290877707&amp;amp;imagePreview=1" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Nikola Radojicic</dc:creator>
    <dc:date>2020-12-18T11:29:21Z</dc:date>
  </entry>
  <entry>
    <title>RE: Web component inside Liferay DXP</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120507563" />
    <author>
      <name>Christoph Rabel</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120507563</id>
    <updated>2020-12-17T18:52:18Z</updated>
    <published>2020-12-17T18:52:18Z</published>
    <summary type="html">&lt;p&gt;We fiddled a bit with them. I wrote a blog post a while ago and the
  code there used them.&lt;/p&gt;
&lt;p&gt;https://liferay.dev/blogs/-/blogs/developing-javascript-frontends-with-webpack&lt;/p&gt;
&lt;p&gt;https://github.com/dccs-liferay/webpack-example/blob/master/modules/dccs-frontend-demo/webpack/js/app.js&lt;/p&gt;
&lt;p&gt;But in the end, we went with the alternative approach in that code
  example, it proved simpler to handle.&lt;/p&gt;</summary>
    <dc:creator>Christoph Rabel</dc:creator>
    <dc:date>2020-12-17T18:52:18Z</dc:date>
  </entry>
  <entry>
    <title>Web component inside Liferay DXP</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120507351" />
    <author>
      <name>Nikola Radojicic</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=120507351</id>
    <updated>2020-12-17T17:40:20Z</updated>
    <published>2020-12-17T11:37:27Z</published>
    <summary type="html">&lt;p&gt;Does someone have experience with web components inside Liferay DXP
  (how can be embedded)?&lt;/p&gt;</summary>
    <dc:creator>Nikola Radojicic</dc:creator>
    <dc:date>2020-12-17T11:37:27Z</dc:date>
  </entry>
</feed>
