使用 babel 和 webpack 时,如何生成源映射?

我是webpack的新手,我需要参与设置以生成源映射。我从命令行运行,编译成功。但我真的需要源地图。这是我的.webpack servewebpack.config.js

var webpack = require('webpack');

module.exports = {

  output: {
    filename: 'main.js',
    publicPath: '/assets/'
  },

  cache: true,
  debug: true,
  devtool: true,
  entry: [
      'webpack/hot/only-dev-server',
      './src/components/main.js'
  ],

  stats: {
    colors: true,
    reasons: true
  },

  resolve: {
    extensions: ['', '.js', '.jsx'],
    alias: {
      'styles': __dirname + '/src/styles',
      'mixins': __dirname + '/src/mixins',
      'components': __dirname + '/src/components/',
      'stores': __dirname + '/src/stores/',
      'actions': __dirname + '/src/actions/'
    }
  },
  module: {
    preLoaders: [{
      test: /\.(js|jsx)$/,
      exclude: /node_modules/,
      loader: 'jsxhint'
    }],
    loaders: [{
      test: /\.(js|jsx)$/,
      exclude: /node_modules/,
      loader: 'react-hot!babel-loader'
    }, {
      test: /\.sass/,
      loader: 'style-loader!css-loader!sass-loader?outputStyle=expanded&indentedSyntax'
    }, {
      test: /\.scss/,
      loader: 'style-loader!css!sass'
    }, {
      test: /\.(png|jpg|woff|woff2)$/,
      loader: 'url-loader?limit=8192'
    }]
  },

  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoErrorsPlugin()
  ]

};

我对webpack真的很陌生,虽然文档并没有真正帮助,因为我不确定这个问题具体是什么。


答案 1

为了使用源代码映射,您应该将 devtool 选项从 更改为此列表中可用的,例如truesource-map

devtool: 'source-map'

devtool: - 发出 SourceMap。'source-map'


答案 2

也许其他人曾经遇到过这个问题。如果使用 in,则需要显式指定标志。例如:UglifyJsPluginwebpack 2sourceMap

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