我是Webpack的新手,我正在转换现有的Web应用程序来使用它。
我正在使用webpack来捆绑和缩小我的JS,这在部署时非常好,但是这使得在开发过程中调试非常具有挑战性。
通常我使用chrome的内置调试器来调试JS问题。(或Firefox上的Firebug)。然而,使用webpack,所有内容都被塞进一个文件中,使用这种机制进行调试变得具有挑战性。
有没有一种方法可以快速打开和关闭bundeling?或者打开和关闭缩小功能?
我已经看过了,看看是否有一些脚本加载器配置或其他设置,但它并没有出现ovious。
我还没有时间把所有的东西都转换成像一个模块和使用要求一样。所以我简单地使用require(“script!./file.js”)模式。
6条答案
按热度按时间pkwftd7m1#
您可以使用source maps来保留源代码和捆绑/缩小的源代码之间的Map。
Webpack提供了devtool选项来增强开发人员工具中的调试,只需为您创建捆绑文件的源Map。这个选项可以在命令行中使用,也可以在 * webpack.config.js * 配置文件中使用。
下面是一个使用命令行生成捆绑文件(* bundle.js *)沿着生成的源Map文件(bundle.js.map)的人为示例。
字符串
index.html
型
entry.js
型
hello.js
型
如果你在浏览器中打开 * index.html *(我使用Chrome,但我认为其他浏览器也支持它),你会在标签中看到 Sources,你在 file:// 方案下有捆绑文件,在特殊的 webpack:// 方案下有源文件。
x1c 0d1x的数据
是的,您可以像拥有原始源代码一样开始调试!尝试在一行中放置断点并刷新页面。
的
py49o6xq2#
我认为最好使用生产和开发模式https://webpack.js.org/guides/production/来设置您的项目,它还包括如何将代码Map到调试
第一个月
voj3qocg3#
正如已经指出的那样,源Map非常有用。
但有时选择使用哪个源Map可能是一件痛苦的事情。
对其中一个Webpack source map issue的注解可能有助于根据需求选择要使用的源Map。
j8ag8udp4#
Chrome在调试器中也有一个格式选项。它没有普通源文件的所有信息,但这是一个很好的开始,你也可以设置断点。您单击的按钮位于第一个屏幕快照的左下角,看起来像{}。
格式化前:x1c 0d1x的数据
格式化后。
的
ruarlubt5#
看一看Here
它是一个美化器,缩小了JavaScript。在底部,它有一个浏览器的各种插件和扩展的列表,请查看它们。
您可能对FireFox Deminifier感兴趣,当它从服务器检索时,它应该对您的JavaScript进行定义和样式化。
的数据
(来源:mozilla.net)
mwkjh3gx6#