Webpack 2 开发工具不工作

Webpack 2 devtool not working

我正在尝试从 webpack 1 转换为 2,但 webpack 似乎没有使用 devtool: 'source-map' 生成源映射文件。如果我 运行 具有以下配置的 webpack 会按预期在 /public 中创建 bundle.js 文件,但没有 bundle.js.map 文件,也不会出现错误。使用 webpack 1 它按预期工作:

const webpack = require('webpack')

module.exports = {
  entry: ['babel-polyfill', './src/index.js'],
  output: {
    path: './public',
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: 'babel-loader'
      }
    ]
  },
  devtool: 'source-map',
  plugins: [
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: '"production"'
        API_BASE_URL: `"${process.env.API_BASE_URL || '/api/v1'}"`
      }
    }),
    new webpack.optimize.UglifyJsPlugin()
  ]
}

CLI 输出:

> cross-env NODE_ENV=production webpack
Hash: 738da5a3824ffac20236
Version: webpack 2.2.0
Time: 13819ms
    Asset    Size  Chunks                    Chunk Names
bundle.js  611 kB       0  [emitted]  [big]  main
   [2] ./~/react/react.js 56 bytes {0} [built]

看起来如果您使用的是 UglifyJSPlugin 源映射,除非您 re-enable 在那里,否则源映射将被静默禁用:

plugins: [    
    new webpack.optimize.UglifyJsPlugin({sourceMap: true})
]