我在为casperJS编写新脚本时遇到了一个最奇怪的问题,我一直在使用它。
当我尝试使用“casperjs myScript.js”启动脚本时,我得到以下内容:
Unable to load script /var/www/scrapers/myScript.js; check file syntax
我检查了我的语法,发现没有错,chmod + x文件,sudoed一切,仍然相同。
更奇怪的是,我从快速启动(http://docs.casperjs.org/en/latest/quickstart.html)中复制了示例代码,保存了相同的消息......
同一目录中的所有其他脚本都在运行,我现在该尝试什么?
答案 0 :(得分:4)
回复:我现在尝试什么?
您可以使用xxd
查看文件内部。查看注释,您现在有一个工作版本和一个非工作版本,因此可以并排比较它们以了解问题所在。 (如果它们相同,那么你知道你正在寻找文件系统级别的东西,而不是文件内部。)
(xxd附带vi软件包,如果安装vim,显然也适用于Windows。)
以下是包含和不包含UTF-8 BOM的脚本的示例输出(顺便说一下,这些脚本没有区别:这两个脚本都起作用,至少在Ubuntu上使用CasperJS 1.1):
0000000: efbb bf76 6172 2063 6173 7065 7220 3d20 ...var casper =
0000010: 7265 7175 6972 6528 2763 6173 7065 7227 require('casper'
0000020: 292e 6372 6561 7465 2829 3b0a 0a63 6173 ).create();..cas
0000030: 7065 722e 7374 6172 7428 2768 7474 703a per.start('http:
0000040: 2f2f 676f 6f67 6c65 2e63 6f6d 2f27 2c20 //google.com/',
0000050: 6675 6e63 7469 6f6e 2829 207b 0a20 2020 function() {.
0000060: 2074 6869 732e 6563 686f 2874 6869 732e this.echo(this.
0000070: 6765 7454 6974 6c65 2829 293b 0a7d 293b getTitle());.});
0000080: 0a0a 6361 7370 6572 2e72 756e 2829 3b0a ..casper.run();.
0000000: 7661 7220 6361 7370 6572 203d 2072 6571 var casper = req
0000010: 7569 7265 2827 6361 7370 6572 2729 2e63 uire('casper').c
0000020: 7265 6174 6528 293b 0a0a 6361 7370 6572 reate();..casper
0000030: 2e73 7461 7274 2827 6874 7470 3a2f 2f67 .start('http://g
0000040: 6f6f 676c 652e 636f 6d2f 272c 2066 756e oogle.com/', fun
0000050: 6374 696f 6e28 2920 7b0a 2020 2020 7468 ction() {. th
0000060: 6973 2e65 6368 6f28 7468 6973 2e67 6574 is.echo(this.get
0000070: 5469 746c 6528 2929 3b0a 7d29 3b0a 0a63 Title());.});..c
0000080: 6173 7065 722e 7275 6e28 293b 0a asper.run();.