【发布时间】:2019-05-27 22:24:39
【问题描述】:
我有一个使用 webpack 的 React 应用程序,并希望将其配置为生成源映射以通过浏览器进行调试。
我将devtool: 'eval-source-map' 添加到我的webpack.config.js。我的理解是应该将转译代码中的行号映射到我的源文件以进行调试。
我运行我的 develop 脚本 (npm run develop) 来运行 webpack。但是当我打开 Chrome DevTools 并展开源代码时,在 webpack-internal:// 下,代码与我的源代码不匹配,而是显示转译后的格式(例如,“function _typeof(obj)”等)。
这不应该允许我通过 Chrome DevTools 等调试我的原始源(pre-babel transpilation)吗?
我在 package.json 中的 develop 脚本是:
"develop": "webpack --mode development --watch",
我的 webpack.config.js 是:
const path = require('path')
module.exports = {
entry: './src/index.jsx',
output: {
filename: 'bundle.js',
path: "C:\\dev\\apache-tomcat-9.0.8\\webapps\\myapp"
},
devtool: 'eval-source-map',
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
query: {
presets: ['@babel/react', '@babel/preset-env'],
plugins: ['@babel/proposal-class-properties']
}
},
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.scss$/,
use: [{
loader: 'style-loader'
}, {
loader: 'css-loader'
}]
},
{
test: /\.(png|svg|jpg|gif)$/,
use: [
{
loader: 'file-loader'
}
]
}
]
}
};
更新:事实证明这对我在 Firefox 中有效(我在调试时看到了源代码),但在 Chrome 中无效。我怎样才能让它在 Chrome 中工作(通过 Chrome DevTools)?
【问题讨论】:
-
原来这在 Firefox 中有效(我在调试时看到了实际的源代码),但在 Chrome 中无效。我怎样才能让它在 Chrome 中工作?