我已成功设置 HMR,一切正常,包括代理后端站点。剩下的唯一问题是,除非我完全重新加载,否则我无法在浏览器中看到实际的原始代码(ES2015)。
我错过了什么或者这是不可能的吗?我用过'cheap-module-eval-source-map'
,试过了'cheap-module-inline-source-map'
。甚至可以在替换模块中提供源映射,因为它们必须被评估?
我已成功设置 HMR,一切正常,包括代理后端站点。剩下的唯一问题是,除非我完全重新加载,否则我无法在浏览器中看到实际的原始代码(ES2015)。
我错过了什么或者这是不可能的吗?我用过'cheap-module-eval-source-map'
,试过了'cheap-module-inline-source-map'
。甚至可以在替换模块中提供源映射,因为它们必须被评估?
HMR 和更新 DevTools 中的源映射存在问题。通常,源映射由浏览器缓存,并且由于 HMR 不会触发整个页面的重新加载,因此您会被过时的源映射所困扰。作为一种解决方法,您可以按 重新加载 Chrome DevTools alt+r
。显然这适用于cheap-module-source-map
.
利用webpack-dev-server -d --hot --inline
-d
是简写--debug --devtool source-map --output-pathinfo
--hot
用于模块的热更换
然后 dev-server 将开始生成源映射并在每次更改时注入代码
-d
是以下命令的快捷方式webpack v.4.8.3
--debug --devtool cheap-module-eval-source-map --output-pathinfo
https://webpack.js.org/api/cli/#shortcuts
为我解决的问题是将以下内容设置为webpack.config.js
:
devtool: "cheap-module-eval-source-map",