You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React集成Webpack-Module-Federation与Brotli压缩时Remote文件生成失败求助

解决React+Nx中Module Federation与Brotli压缩共存时Remote文件不生成的问题

问题出在你自定义webpack配置的方式上——直接修改原始config并返回,跳过了Nx withModuleFederation内置的Module Federation配置逻辑。正确的做法是先调用默认的webpack配置处理函数,再添加CompressionPlugin。

修改后的webpack.config.js配置如下:

const CompressionPlugin = require('compression-webpack-plugin');
const withModuleFederation = require('@nrwl/react/module-federation');
const moduleFederationConfig = require('./module-federation.config');

module.exports = withModuleFederation({
  ...moduleFederationConfig,
  webpack: (config, options) => {
    // 先执行默认的Module Federation配置处理
    const updatedConfig = options.webpack(config, options);
    // 再添加Brotli压缩插件
    updatedConfig.plugins.push(
      new CompressionPlugin({
        filename: "[path][base].br",
        algorithm: "brotliCompress",
        test: /\.(js|css|html|svg)$/,
        threshold: 10240,
        minRatio: 0.8,
        deleteOriginalAssets: false,
      })
    );
    return updatedConfig;
  },
});

原因说明

Nx的withModuleFederation会通过options.webpack函数注入Module Federation相关的插件和配置逻辑。如果你直接修改原始的config并返回,相当于跳过了这一步,自然不会生成Remote文件。先调用options.webpack(config, options)可以确保Module Federation的配置被正确应用,之后再添加自己的压缩插件就不会冲突了。

内容的提问来源于stack exchange,提问作者Animesh Maji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:45:11