我正在使用 grunt concat/uglify 来减少加载 JavaScript 的调用次数。
我删除了所有指向实际 javascript 文件的硬编码链接,现在引用 grunt 生成的一个 javascript 文件。
如何在我的开发环境中继续调试/查看我的 javascript?那就是源地图吗?
我正在使用 grunt concat/uglify 来减少加载 JavaScript 的调用次数。
我删除了所有指向实际 javascript 文件的硬编码链接,现在引用 grunt 生成的一个 javascript 文件。
如何在我的开发环境中继续调试/查看我的 javascript?那就是源地图吗?
是的。您将需要生成一个源图以继续轻松地调试您的代码。
有两种类型的源映射,但源映射需要在每个转换中维护。所以如果你在一个步骤中 concat 在第二步中缩小,缩小过程需要知道 concat 步骤生成了一个 sourcemap 并基于该 sourcemap 生成它自己的 sourcemap,以便缩小代码 sourcemap 对应于原始输入,而不是concat 步骤的输入。
有几种方法可以解决这个问题——最简单的方法是不要在您的测试/开发环境中缩小。还有一些缩小器可以为您正确执行源映射,但它们可能很难配置。
您可能还想看看browserify——这是一个工具,可以让您编写前端浏览器代码,就像它是节点模块一样,它会为您连接并生成源映射!
或者,您也可以仅依赖服务器中的 gzip 压缩并通过压缩程序运行您的代码——这出奇地好。