external-remotes-plugin

1.0.0 • Public • Published

external-remotes-plugin

Host webpack.config

const config = {
   ...otherConfigs
  plugins: [
    new ModuleFederationPlugin({
      name: "app1",
      remotes: {
        app2: "app2@[window.app2Url]/remoteEntry.js"
      }
    }).
    new ExternalTemplateRemotesPlugin(),
  ]
}

or

plugins: [
    new ModuleFederationPlugin({
        name: 'my-app',
        remotes: {
            'my-remote-1': 'my-remote-1@[window.remote-1-domain]/remoteEntry.js?[getRandomString()]',
            ...
        },
        shared: {...}
    }),
    new ExternalTemplateRemotesPlugin(), //no parameter,
]

Host (app1) source somewhere before loading main entry file

window.app2Url = "//localhost:3002"; // Whatever the url/logic to determine your remote module is

import("./bootstrap");

Working example is also available in this PR: https://github.com/module-federation/module-federation-examples/pull/557.

Update: the PR was merged a example can be found under advanced-api/dynamic-remotes-synchronous-imports

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i external-remotes-plugin

    Weekly Downloads

    51,688

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    5.16 kB

    Total Files

    5

    Last publish

    Collaborators

    • zackljackson