我正在尝试让我的Webpack项目拥有源映射文件。
我终于得到了正确的设置,以便它可以做到这一点,但现在我收到了这个错误:
DevTools无法解析SourceMap:http://MyServer/MyApp/bundle.js.map
我转到它声明的URL,我找到了一个包含这些属性的json文件:
这一切似乎都是有效的json。不幸的是,Chrome没有理由无法解析源地图。
有没有办法让Chrome说出解析源地图失败的原因?
或者,如果不这样做,是否有人知道我的源地图会失败的原因?(我的代码太大而无法发布,但这里是我的webpack.config.js和我的{{3}文件。)
注意:
答案 0 :(得分:25)
这不是该问题的答案,但我相信我的答案可以帮助某些人。
这是由于chrome的设置引起的,例如在FF中不会发生此错误警告。 要对其进行修复,请转到Chrome的开发者工具设置,然后取消选中:
然后刷新Chrome。
为了调试js
和scss
缩小的文件,这告诉编译器源文件的实际映射位置。
使用最新版本的Webpack源代码映射效果很好, 我试图重现此错误,但没有运行项目的可能性,我看不到问题作者的问题。
例如,此警告是使用角度警告而发生的,应在sourceMap
中将true
设置为angular.json
,如果您不使用源映射,而又不使用不想按照我的回答在浏览器中禁用此警告。
答案 1 :(得分:5)
就我而言,我必须禁用 Adblock 才能消除错误。
答案 2 :(得分:1)
根据经验,我不希望客户端告诉您为什么它无法解析SourceMap(尽管那会很好)。我遇到了一些无法解析大型源映射(可能是内存限制)的工具的问题,考虑到您的资产规模很大,我首先来看一下。
Webpack为devtool
配置字段支持几个不同的值,其中一些不如默认值真实。例如,您是否尝试过'cheap-module-source-map'
?对于可用的源图IMO,仅获取行号(无列)是一个很好的权衡。
但是减小资产规模可能会更好。 Webpack的code splitting和“块”管理选项使将代码拆分为多个文件,这些文件在运行时异步加载变得非常简单。在这种情况下,您将有两个或多个JS文件,并且每个文件都有其自己的源映射,因此浏览器将不再因尝试处理一个大文件而感到窒息。
答案 3 :(得分:0)
您是否尝试下载Vue.js devtools扩展名?
或通过npm install vue-devtools
安装。
接下来,请确保您禁用在Chromium浏览器中的“启用JavaScript源地图”复选框。这两个操作都为我消除了控制台中的SourceMap错误。
它应该像这样:
答案 4 :(得分:0)
某些 chrome扩展可能与DevTools混淆。
也许,您可以尝试禁用特定应用程序不需要的应用程序,然后查看是否可以“解决”问题。
上面是对我有用的方法,但我不确定为什么会这样做。