运行 webpack-dev-server 时进行 VSCode 调试,跳过断点

Ahm*_*tin 5 reactjs webpack webpack-dev-server visual-studio-code vscode-debugger

我安装了 chrome 扩展的调试器。我使用运行我的应用程序

webpack-dev-server -d --config webpack.dev.js --inline
Run Code Online (Sandbox Code Playgroud)

我正在运行一个 React 应用程序,所有源代码都位于 /src 文件夹下。我有 js、ts 和 tsx 文件。当我在渲染函数上放置断点时,编辑器会正确中断执行,但是当我在按钮的 onClick 事件上放置断点时,它不会中断,它只是继续执行代码。

我的 webpack 配置的相关部分如下:

  mode: 'development',
  devtool: 'source-map',
  entry: {
    bundle: [
      '@babel/polyfill',
      'react-hot-loader/patch',
      `webpack-dev-server/client?http://${host}:${devPort}`,
      'webpack/hot/only-dev-server',
      path.resolve(__dirname, 'src/index.js'),
    ],
  },
  output: {
    path: path.resolve(__dirname, 'public'),
    publicPath: '/',
    filename: '[name].[hash:16].js',
    chunkFilename: '[id].[hash:16].js',
  },
  devServer: {
    inline: true,
    port: devPort,
    contentBase: path.resolve(__dirname, 'public'),
    hot: true,
    writeToDisk: true,
    publicPath: '/',
    historyApiFallback: true,
    host,
  }
Run Code Online (Sandbox Code Playgroud)

我的 launch.json 如下:

{
  "type": "chrome",
  "request": "launch",
  "name": "Launch Chrome",
  "url": "http://localhost:8080",
  "webRoot": "${workspaceFolder}/src",
  "sourceMaps": true,
  "sourceMapPathOverrides": {
    "webpack:///./src/*.js": "${workspaceRoot}/src/*.js",
    "webpack:///./src/*.tsx": "${workspaceRoot}/src/*.tsx",
    "webpack:///./src/*.ts": "${workspaceRoot}/src/*.ts",
    "webpack:///./node_modules/*": "${workspaceRoot}/node_modules/*"
  }
}
Run Code Online (Sandbox Code Playgroud)

我缺少什么?

Ahm*_*tin 7

inline-source-map我通过在我的配置文件中使用它来使其工作:

{
    devtool: 'inline-source-map',
    // ....
}
Run Code Online (Sandbox Code Playgroud)

现在它可以正常工作并在我放置断点的任何地方中断。