在chrome中检测到源映射,但未使用webpack-2加载原始源

Nik*_*kos 24 google-chrome source-maps webpack webpack-2

运行使用webpack 2构建的应用程序时,会在chrome中检测到源映射,但未加载原始源.我正在使用webpack beta21.

这些文件曾经被自动检测到,即当断点被放入webpack js文件的输出中时,源视图将跳转到webpack的原始源输入.但现在我被困在这个屏幕上: 在此输入图像描述

配置:

var path = require("path");
var webpack = require("webpack");
var WebpackBuildNotifierPlugin = require('webpack-build-notifier');


const PATHS = {
  app: path.join(__dirname, '../client'),
  build: path.join(__dirname, '../public')
};

module.exports = {


  entry: {
    app: PATHS.app + '/app.js'
  },
  output: {
    path: PATHS.build,
    filename: '[name].js'
  },


  devtool: "source-map",
  module: {
    loaders: [
      {
        test: /\.js?$/,
        loader: 'babel-loader',
        include: [
          path.resolve(__dirname, 'client'),
        ],
        exclude: /node_modules/

      },

      {
        test: /\.css/,
        loader: "style!css"
      }
    ]
  },
  resolve: {
    // you can now require('file') instead of require('file.js')
    extensions: ['', '.js', '.json']
  } ,
  plugins: [
    new WebpackBuildNotifierPlugin()
  ]

};
Run Code Online (Sandbox Code Playgroud)

Kyl*_*Mit 5

带有源映射的生成文件不会自动重定向到其原始文件,因为可能存在一对多关系。

如果您看到该消息Source Map Detected,则原始文件应该已经通过Crl+出现在侧文件树或文件资源管理器中P。如果您不知道原始文件名,您可以打开源映射文件本身。

  1. 源映射路径可以通过//# sourceMappingURL=注释或X-SourceMap标题标识:

    源映射URL

  2. 通过 url 打开源映射并查找sources原始文件名的属性:

    源映射文件

  3. 原始文件应该在源面板中可见:

    源面板中的原始文件

如果您没有看到消息Source Map Detected

您可以通过右键单击并选择来手动添加外部源映射Add Source Map

添加源地图

其他资源


Tho*_*ger 0

外部源映射的问题已在 Chrome 52 中修复,但看起来您的开发工具设置与我的不同,我使用:

devtool: '#source-maps'
Run Code Online (Sandbox Code Playgroud)

您如何构建源代码?如果您正在使用-d它将切换到内联源映射

  • 一点也不神秘 (7认同)
  • @ThomasGrainger 记录在哪里?官方文档中没有提到哈希值或 at 符号:https://webpack.js.org/configuration/devtool/ (3认同)
  • 加了#号有什么区别? (2认同)