【发布时间】:2014-07-10 21:10:34
【问题描述】:
当我使用 Chrome devtools 调试器时,我遇到了一个问题,即 Webpack 使用 inline-source-map 配置设置生成的源映射关闭了一行。
Webpack 在 Ruby on Rails 应用程序中设置,以生成由几十个模块组成的连接的、未压缩的 JavaScript 文件。这些模块中的大多数都是 ReactJS 组件,并由 jsx 加载器解析。然后将 Webpack 的输出与 gems 生成的其他一些 JavaScript 库一起包含在 application.js 文件中。
当我使用eval-source-map时,没有问题。使用inline-source-map 的某些原因会导致行号被取消。
检查不是React组件的JavaScript还是有这个问题,所以我觉得和使用jsx没有关系。
【问题讨论】:
-
听起来好像一方认为第一行是
0行,而另一方认为它是1行。您可能只需要选择一个定义,然后调整任何其他方式的值。 -
如果有办法调整浏览器用于源映射中行号的值,这可能会解决问题。同样从那以后我做了一些实验,似乎当使用没有 Sprockets 的 Rails 处理 webpack 生成的 JS 时,问题就消失了。仅当同时使用 webpack 和 sprocket 时,行号才会关闭。
-
我不知道。我将 CoffeeScript 的源映射与 Mozilla 的源映射 JS 库一起使用。一切都很好,除了以下代码中的
columnarg 传入 1 太高:window.onerror = function(message, url, line, column){}。减少它可以解决这个问题。注意:这是 Chrome 特有的,我不知道其他浏览器。 -
这似乎相关:github.com/plumberjs/plumber-requirejs/commit/… 这解决了 require.js 的问题
-
可能是您在流程中的某处添加标题行,例如版权声明?
标签: javascript ruby-on-rails google-chrome webpack source-maps