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

Webpack不再压缩Bundle求助:Node调用Webpack编译异常

Webpack 压缩失效问题排查与解决(Node API 调用场景)

最近我在开发一个通过 Node API 而非 CLI 调用 Webpack 编译器的 npm 模块,之前构建功能一直正常,结果在给 Node、Webpack 及部分依赖做了小版本更新后,突然遇到了Webpack 无法压缩 Bundle JS的问题——整个编译过程没有报错,但输出的 JS 文件完全没被压缩。

一开始我以为是优化配置缺失,特意加上了 optimization 配置(之前没这个配置也能正常压缩),完整配置如下:

({ 
  devtool: 'source-map', 
  entry: '/foo.js',
  externals: [nodeExternals()], 
  mode: 'production', 
  target: 'web', 
  module: { 
    rules: [ 
      { test: /\.coffee$/, use: [ { loader: 'babel-loader' }, { loader: 'coffee-loader' } ] }, 
      { test: /\.js$/, use: [ { loader: 'babel-loader' } ] }, 
      { test: /\.(sass|css)$/, use: [ { loader: Extract.loader, options: { sourceMap: true } }, { loader: 'css-loader', options: { sourceMap: true } }, { loader: 'sass-loader', options: { sourceMap: true } } ] } 
    ] 
  }, 
  optimization: { minimize: true, noEmitOnErrors: true }, 
  output: { filename: 'project_1.0.0.jss', path: '/build' }, 
  plugins: [ new Write, new Extract({ filename: 'project_1.0.0.css' }) ], 
  resolve: { modules: ['node_modules'] } 
});

折腾了好一阵才找到问题根源:output.filename 里我不小心把扩展名写成了 .jss,把它改回 .js 之后,压缩功能立刻就恢复正常了。

这个现象确实挺奇怪的,后续如果有精力我会深入研究下 Webpack 对非标准 JS 扩展名文件的处理逻辑,补充具体的行为解释。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:40:20