【问题标题】:configuration.devtool should match pattern "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"configuration.devtool 应该匹配模式 "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"
【发布时间】:2021-05-03 07:17:43
【问题描述】:

我正在将 webpack 4 迁移到 webpack 5

config/webpack.js 有:

`devtool: isProduction ? 'hidden-source-map' : 'cheap-module-eval-source-map'

迁移后出错:

onfiguration.devtool 应该匹配模式 "^(inline-|hidden-|eval-)?(nosources-)?(cheap-(module-)?)?source-map$"。

看起来新的webpack 不喜欢条件,因为如果我更改为:

devtool: 'hidden-source-map'

错误消失了。

【问题讨论】:

标签: webpack


【解决方案1】:

问题出在cheap-module-eval-source-map -> eval-cheap-module-source-map https://webpack.js.org/configuration/devtool/

【讨论】:

    【解决方案2】:

    Webpack V5 在验证 devtool 名称时需要特定的模式,如果模式不匹配会混淆 devtool 字符串的序列可能会导致错误。模式为:[inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map

    因此,例如,可以在处于开发阶段的 webpack 配置文件中使用以下选项之一 - devtool: 'eval' devtool: 'eval-source-map' devtool: 'eval-cheap-source-map' devtool: 'eval-cheap-module-source-map'

    这些更改是新的,因此在使用旧配置文件时可能会弹出此类错误。将 devtool 值重置为匹配模式,错误就会消失。要了解有关适合您工作的 devtool 值的更多信息,请访问Webpack Devtool Documentation

    【讨论】:

      猜你喜欢
      • 2017-01-15
      • 1970-01-01
      • 2014-04-27
      • 2018-12-15
      • 2014-09-30
      • 1970-01-01
      • 2021-11-16
      • 2018-05-25
      • 2017-02-15
      相关资源
      最近更新 更多