<?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>Export external JavaScript libraries</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121628659" />
  <subtitle>Export external JavaScript libraries</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121628659</id>
  <updated>2026-04-06T03:56:04Z</updated>
  <dc:date>2026-04-06T03:56:04Z</dc:date>
  <entry>
    <title>RE: Export external JavaScript libraries</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121630093" />
    <author>
      <name>Olaf Kock</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121630093</id>
    <updated>2023-01-17T12:32:39Z</updated>
    <published>2023-01-17T12:32:38Z</published>
    <summary type="html">&lt;p&gt;As you're in a portlet, you can set
  &lt;code&gt;com.liferay.portlet.footer-portal-javascript&lt;/code&gt; or
  &lt;code&gt;com.liferay.portlet.header-portal-javascript&lt;/code&gt; in the
  &lt;code&gt;@Component&lt;/code&gt;'s properties (or in portlet.xml - &lt;a
    href="https://help.liferay.com/hc/en-us/articles/360017901292-Portlet-Descriptor-to-OSGi-Service-Property-Map"&gt;check
    this mapping&lt;/a&gt;)&lt;/p&gt;</summary>
    <dc:creator>Olaf Kock</dc:creator>
    <dc:date>2023-01-17T12:32:38Z</dc:date>
  </entry>
  <entry>
    <title>Export external JavaScript libraries</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121628658" />
    <author>
      <name>Sébastien B</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121628658</id>
    <updated>2023-01-13T12:13:13Z</updated>
    <published>2023-01-13T12:11:59Z</published>
    <summary type="html">&lt;p&gt;Hello, &lt;br /&gt;
  &lt;br /&gt; I would like to export some javascript functions from a module
  to use it in portlet. In 7.1 version, it wad possible do
  &amp;quot;addModule&amp;quot; as an AMD module and to use it in portlet by
  &amp;quot;require&amp;quot; aui for example. &lt;br /&gt;
  &lt;br /&gt; I am currently upgrading my portatl in 7.4 and
  &amp;quot;addModule&amp;quot; does not exist anymore :&lt;/p&gt;
&lt;p&gt;Previously, in my config.js and my-library.js :&lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-javascript"&gt;Liferay.Loader.addModule({
    dependencies: [],
    name: 'jquery',
    anonymous: true,
    path: MODULE_PATH + 'my-library.js'
});&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;// Assuming your &amp;quot;module&amp;quot; will be exported as &amp;quot;my-library&amp;quot;
(function (root, factory) {
    if (typeof Liferay.Loader.define === 'function' &amp;amp;&amp;amp; Liferay.Loader.define.amd) {
        // AMD. Register as a &amp;quot;named&amp;quot; module.
        Liferay.Loader.define('my-library', [], factory);
    } else if (typeof module === 'object' &amp;amp;&amp;amp; module.exports) {
        // Node. Does not work with strict CommonJS, but
        // only CommonJS-like environments that support module.exports,
        // like Node.
        module.exports = factory();
    } else {
        // Browser globals (root is window)
        root['my-library] = factory();
    }
}(this, function () {

    myFunction= function () {
        console.log('call my function');
    }
 
}));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Now, i've tried to do it with liferay-npm-bundler but i've not
  succeeded to expose my library with this method. If someone as already
  done a similar module, it could help me. &lt;/p&gt;
&lt;p&gt;Thanks !&lt;br /&gt;  &lt;/p&gt;</summary>
    <dc:creator>Sébastien B</dc:creator>
    <dc:date>2023-01-13T12:11:59Z</dc:date>
  </entry>
</feed>
