ModuleFederationPlugin
- webpack 5+ plugin
- 在多个webpack构建应用中,实现模块共享:
- Remote :提供共享模块 (提供者)
- Host : 消费共享模块 (消费者)
- 单个webpack 可以同时作为消费者和提供者,也可以只提供或只消费
module.exports = defineConfig({
chainWebpack: (config) => {
config
.plugin("module-feaderation-plugin")
.use(require("webpack").container.ModuleFederationPlugin, [
{
name: "app",
filename: "remoteEntry.js",
remotes: {
other: "other@http://localhost:9002/remoteEntry.js",
},
expose:{
"./HelloWorld":'./src/components/HelloWorld.vue'
},
shared:['vue']
},
]);
})
module.exports = defineConfig({
chainWebpack: (config) => {
config
.plugin("module-feaderation-plugin")
.use(require("webpack").container.ModuleFederationPlugin, [
{
name: "app",
filename: "remoteEntry.js",
remotes: {
other: "other@http://localhost:9002/remoteEntry.js",
},
},
]);
},
devServer: {
port: 9001,
hot: true,
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
"Access-Control-Allow-Headers":
"X-Requested-With, content-type, Authorization",
},
},
});
module.exports = defineConfig({
publicPath:'http://localhost:9002/',
chainWebpack: (config) => {
config
.plugin("module-feaderation-plugin")
.use(require("webpack").container.ModuleFederationPlugin, [
{
name: "other",
filename: "remoteEntry.js",
exposes: {
"./HelloWorld": "./src/components/HelloWorld.vue",
},
},
]);
},
devServer: {
port: 9002,
hot: true,
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
"Access-Control-Allow-Headers":
"X-Requested-With, content-type, Authorization",
},
}
});
<template>
<div class="home">
<hello-world msg="121221123"></hello-world>
</div>
</template>
<script lang="ts">
import { defineAsyncComponent, defineComponent, onMounted } from 'vue';
export default defineComponent({
name: 'HomeView',
components: {
HelloWorld: defineAsyncComponent(() => import('other/HelloWorld')),
}
});
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南