const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin"); const mf = require("@angular-architects/module-federation/webpack"); const path = require("path"); const share = mf.share; const sharedMappings = new mf.SharedMappings(); sharedMappings.register(path.join(__dirname, "tsconfig.json"), [ ]); module.exports = { output: { uniqueName: "mef2", publicPath: "auto", }, optimization: { runtimeChunk: false, }, resolve: { alias: { ...sharedMappings.getAliases(), }, }, plugins: [ new ModuleFederationPlugin({ name: "mfe2", filename: "remoteEntry.js", exposes: { "./Module1": "./src/app/microfrontend1/microfrontend1.module.ts", }, shared: share({ 'assets/img': { eager: true }, "@angular/core": { singleton: true, strictVersion: true, requiredVersion: "auto", }, "@angular/common": { singleton: true, strictVersion: true, requiredVersion: "auto", }, "@angular/common/http": { singleton: true, strictVersion: true, requiredVersion: "auto", }, "@angular/router": { singleton: true, strictVersion: true, requiredVersion: "auto", }, 'my-shared': { singleton: true, strictVersion: true, import: 'my-shared', // 对应库的npm包名或本地路径 requiredVersion: '*' // 或者具体的版本号,如"0.0.1" }, ...sharedMappings.getDescriptors(), }), }), sharedMappings.getPlugin(), ], };