从PhantomJS / CasperJS中的“SyntaxError:Parse error”消息中获取更多信息

时间:2015-01-27 07:36:56

标签: javascript debugging syntax-error phantomjs casperjs

我有一个很长的CasperJS脚本。当我运行它时,我得到:

phantomjs file.js    
SyntaxError: Parse error

有没有办法获得有关错误的更多信息。 至少一个行号?或任何提示?

2 个答案:

答案 0 :(得分:5)

尝试使用node运行file.js,因此对于您的示例:

node file.js

答案 1 :(得分:1)

在PhantomJS中无法确定这一点。 phantom.onError上的文档说:

  

这是在PhantomJS中拥有全局错误处理程序的最接近的

这并没有发现语法错误。如果您尝试使用--debug=true选项运行它,您将看到许多调试消息,但最终错误仍然具有相同的信息量。

我尝试的另一件事是使用第二个PhantomJS脚本来读取原始脚本并尝试eval它。在这种情况下会触发phantom.onError事件,但trace参数为空。

好消息是PhantomJS / CasperJS脚本只是JavaScript,因此您可以将它们粘贴到http://jslint.com/或在它们上运行专用的jslinter以查看问题所在。您必须在网站上标记一些选项,否则您将收到很多错误:

  • phantom添加到全局变量框
  • 启用node.js模式和
  • 容忍“一切”(或你真正想要容忍的事情)