node.js - 遇到神秘的引用错误(使用 Node v 0.4.9)

标签 node.js referenceerror

我编写了一个 Node 程序来抓取 url 内容。由于很多东西被扔进和扔出机器,我有一个 uncaughtException 的进程监听器,并且只是将错误结果扔到日志文件中,而不是让它杀死守护进程。最近查看该日志文件,我发现有些不对劲。这是一个经常抛出的错误和堆栈跟踪:

堆栈跟踪:

ReferenceError: GEL is not defined at Object._onTimeout (http://www.freep.com/article/20110809/ENT04/110809051/1001/news:undefined:undefined:2:25) at Timer.callback (timers.js:83:39)

我知道信息不多。自然地,我对 GEL 的源代码进行了 rgrep。然后我 rgrepped GEL 的所有 Node 模块依赖项(没有那么多)。然后我 rgrepped GEL Node 。然后我 rgrepped v8 的 GEL。然后我停下来问 StackOverflow...我做错了什么? (我没有在代码中做任何不合理的事情,例如尝试评估随机字符串或诸如此类的事情。)

重要: Node v 0.4.9 ...认为它也会在 v 0.4.10 上抛出

最佳答案

我发现了问题所在。这实际上是我的代码的错误。我正在调试的代码使用 jsdom模块,它解释我正在抓取的网页中的 javascript。我通过改进我的 regex 解决了我遇到的问题删除 <script>标签并传递了额外的 features我的论点jsdom.env调用:

jsdom.env({
  html: myHtml, 
  done: myCallback,
  url: url,
  features : {
        FetchExternalResources       : [],
        ProcessExternalResources     : false
        }
});

关于node.js - 遇到神秘的引用错误(使用 Node v 0.4.9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7035143/

相关文章:

javascript - 在浏览器端禁用 WebSockets 压缩和异或掩码

c++ - 执行 native NodeJS 模块时,Electron 卡住

node.js - Yeoman 角度生成器安装运行,但生成器未出现在生成器列表中

JavaScript:检查变量或对象是否存在

javascript - 语法错误: missing ; before statement | ReferenceError:[function] is not defined

javascript - Mongodb find 不适用于 Objectid

node.js - 如何在pdfkit中使用 'cover'选项?

javascript - 为什么引用未声明的变量会引发引用异常,而引用未声明的属性却不会?

javascript - 为什么会抛出ReferenceError?

javascript - if (a) {} 抛出未捕获的 ReferenceError