首页 > 解决方案 > 节点检查脚本是乱码并且与原始脚本不同

问题描述

我正在使用以下方式运行 Node 应用程序:

node --inspect index.js

在 Chrome 中打开 node 的 devtools 然后显示主要 index.js 的源,但其余脚本是乱码,如下所示:

    (function (exports, require, module, __filename, __dirname) { "use strict";
var __cov_E6kz_9bK33ltizHRV1BcVA = (Function('return this'))();
if (!__cov_E6kz_9bK33ltizHRV1BcVA.__coverage__) { __cov_E6kz_9bK33ltizHRV1BcVA.__coverage__ = {}; }
__cov_E6kz_9bK33ltizHRV1BcVA = __cov_E6kz_9bK33ltizHRV1BcVA.__coverage__;
(....)

这些文件没有被 uglified(只用 gulp 进行 babelified),并且调试器正确显示了路径:

Chrome 开发工具

如您所见,文件 routes/index.js... 显示了一个路径,并且 chrome 显示的“路由”指向正确的 /dist/ 文件...但是我磁盘中的内容不同。在 devtools 中漂亮地打印脚本会显示一个带有大量额外行的脚本:

差异

如您所见,左边的文件是第一个屏幕截图中显示的路线上磁盘上的脚本......右边是与第一个屏幕截图相同的脚本,但由 devtools 打印出来。

该应用程序是一个用 gulp 打包的 Kraken 应用程序,我认为 Node 是一个搞乱源代码的应用程序,但我从未见过这个。有没有人遇到过这个?有没有办法让“正确”的源进行调试?

标签: javascriptnode.jsgoogle-chromedevtoolsinspect

解决方案


这是正常的,编译器正在为您执行此操作。帮助您调试的最好方法是添加源映射,以便您可以更轻松地调试代码。根据发生的 gulp 转换,有很多选择。对给定 x 编译器的源映射进行一些快速研究会有所帮助。

祝你好运,如果结构不好,单体 javascript 应用程序很难处理。


推荐阅读