module-federation / practical-module-federation

75 stars 23 forks source link

Uncaught Error: Shared module is not available for eager consumption - #15

Closed minmaxdata closed 3 years ago

minmaxdata commented 3 years ago

When running code in chapter 2 nav package was having this error. Added eager: true, to shared node.

minmaxdata commented 3 years ago

Also with header getting this error when running command - window.nav.get('Header').then(factory => console.log(factory())); Promise {: Error: Module "Header" does not exist in container. at eval (webpack://nav/container_entry?:12:…}const HtmlWebPackPlugin = require("html-webpack-plugin"); const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");

const deps = require("./package.json").dependencies; module.exports = { output: { publicPath: "http://localhost:3001/", },

resolve: { extensions: [".jsx", ".js", ".json"], },

devServer: { port: 3001, },

module: { rules: [ { test: /.m?js/, type: "javascript/auto", resolve: { fullySpecified: false, }, }, { test: /.css$/i, use: ["style-loader", "css-loader"], }, { test: /.(js|jsx)$/, exclude: /node_modules/, use: { loader: "babel-loader", }, }, ], },

plugins: [ new ModuleFederationPlugin({ name: "nav", filename: "remoteEntry.js", remotes: {}, exposes: { "./Header": "./src/index", }, shared: { ...deps, react: { eager: true, singleton: true, requiredVersion: deps.react, }, "react-dom": { eager: true, singleton: true, requiredVersion: deps["react-dom"], }, }, }), new HtmlWebPackPlugin({ template: "./src/index.html", }), ], };

Ge-yuan-jun commented 3 years ago

same question, any idea?