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

Webpack编译出现27错3警告,请求协助解决以启动服务器

解决Webpack 5编译错误与警告问题

错误解决

Webpack 5不再默认提供Node.js核心模块的polyfill,需手动配置回退或禁用,以下是对应每个错误的解决方案:

1. zlib模块未找到

  • 安装依赖:npm install browserify-zlib --save-dev
  • 在webpack配置中添加回退:
resolve: {
  fallback: {
    "zlib": require.resolve("browserify-zlib")
  }
}
  • 若不需要该模块,可配置为:"zlib": false

2. querystring模块未找到

  • 安装依赖:npm install querystring-es3 --save-dev
  • 配置回退:
resolve: {
  fallback: {
    "querystring": require.resolve("querystring-es3")
  }
}
  • 不需要则设为:"querystring": false

3. path模块未找到

  • 安装依赖:npm install path-browserify --save-dev
  • 配置回退:
resolve: {
  fallback: {
    "path": require.resolve("path-browserify")
  }
}
  • 不需要则设为:"path": false

4. crypto模块未找到

  • 安装依赖:npm install crypto-browserify --save-dev
  • 配置回退:
resolve: {
  fallback: {
    "crypto": require.resolve("crypto-browserify")
  }
}
  • 不需要则设为:"crypto": false

5. fs模块未找到

fs是Node.js文件系统模块,浏览器环境无法支持,直接禁用:

resolve: {
  fallback: {
    "fs": false
  }
}

6. http模块未找到

  • 安装依赖:npm install stream-http --save-dev
  • 配置回退:
resolve: {
  fallback: {
    "http": require.resolve("stream-http")
  }
}
  • 不需要则设为:"http": false

7. net模块未找到

net是Node.js网络模块,浏览器环境不支持,直接禁用:

resolve: {
  fallback: {
    "net": false
  }
}

8. url模块未找到

  • 安装依赖:npm install url --save-dev
  • 配置回退:
resolve: {
  fallback: {
    "url": require.resolve("url/")
  }
}
  • 不需要则设为:"url": false

9. buffer模块未找到

  • 安装依赖:npm install buffer --save-dev
  • 配置回退:
resolve: {
  fallback: {
    "buffer": require.resolve("buffer/")
  }
}
  • 不需要则设为:"buffer": false

警告解决

1. Critical dependency: the request of a dependency is an expression

该警告来自express/lib/view.js,原因是express运行时动态加载模板引擎,Webpack无法静态分析此类动态依赖。可通过以下方式处理:

  • 在webpack配置中跳过对express的解析(无需修改express代码时适用):
module: {
  noParse: /express/
}

2. async_hooks模块未找到

async_hooks是Node.js核心模块,浏览器环境不支持,直接禁用:

resolve: {
  fallback: {
    "async_hooks": false
  }
}

完整Webpack配置示例

const webpack = require('webpack');

module.exports = {
  // 其他基础配置
  resolve: {
    fallback: {
      "zlib": require.resolve("browserify-zlib"),
      "querystring": require.resolve("querystring-es3"),
      "path": require.resolve("path-browserify"),
      "crypto": require.resolve("crypto-browserify"),
      "fs": false,
      "http": require.resolve("stream-http"),
      "net": false,
      "url": require.resolve("url/"),
      "buffer": require.resolve("buffer/"),
      "async_hooks": false
    }
  },
  module: {
    noParse: /express/
  },
  plugins: [
    // 若需全局暴露Buffer对象,添加此插件
    new webpack.ProvidePlugin({
      Buffer: ['buffer', 'Buffer']
    })
  ]
};

执行以下命令安装所有依赖:

npm install browserify-zlib querystring-es3 path-browserify crypto-browserify stream-http url buffer --save-dev

内容的提问来源于stack exchange,提问作者Shekhar Shelke

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 18:14:52