我有一个使用webpack的React应用程序,并希望对其进行配置以生成要通过浏览器进行调试的源映射。但是,我所看到的行为不是我所期望的。
我在{em> webpack.config.js 中添加了devtool: 'eval-source-map
。我的理解是应该将行代码从已转换的代码映射到我的源文件中以进行调试。
然后,我运行我的 develop 脚本(npm rundevelop)来运行webpack。但是,当我打开Chrome DevTools并在 webpack-internal:// 下扩展源代码时,该代码肯定与我的源代码不完全匹配,因为它似乎是已转换的格式(例如,“函数_typeof(obj)“等。
也许我不太了解这一点。这是否不应该允许我通过Chrome DevTools等调试原始源(babel转换前)?
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'
}
]
}
]
}
};
答案 0 :(得分:0)
打开Chrome DevTools,然后选择“设置”并选中启用JavaScript源地图。