casperjs无法运行CoffeeScript脚本
我第一次安装了casperjs并运行了示例脚本。第一个示例脚本(javascript)运行时没有发生任何事件。然后,我尝试运行我更喜欢的coffescript示例,并收到以下错误: 无法加载脚本test.coffee;检查文件语法 我一直在寻找答案,但“唯一的答案”中的答案对我不起作用。我能够将CoffeeScript(test.coffee)编译成JavaScript(test.js),然后再次运行编译后的JavaScript,没有任何不雅之处 我试图通过在casperjs文件中搜索错误消息来跟踪错误。我在~/.node/lib/node_modules/casperjs/bin/bootstrap.js文件的末尾发现了错误消息,它将控制权传递给phantomjs。我创建了一个简单的咖啡脚本:test_phantomjs.coffee:casperjs无法运行CoffeeScript脚本,coffeescript,phantomjs,casperjs,Coffeescript,Phantomjs,Casperjs,我第一次安装了casperjs并运行了示例脚本。第一个示例脚本(javascript)运行时没有发生任何事件。然后,我尝试运行我更喜欢的coffescript示例,并收到以下错误: 无法加载脚本test.coffee;检查文件语法 我一直在寻找答案,但“唯一的答案”中的答案对我不起作用。我能够将CoffeeScript(test.coffee)编译成JavaScript(test.js),然后再次运行编译后的JavaScript,没有任何不雅之处 我试图通过在casperjs文件中搜索错误消息来
console.log "hello phantomjs"
phantom.exit()
并运行脚本(phantomjs test_phantomjs.coffee),结果如下:
无法打开“测试幻影咖啡”
在这一点上,我不知所措。由于编译成JavaScript解决了这个问题,所以这个问题比任何事情都更麻烦。他们是我错过的东西吗?对我很有用。你能发布你的PhantomJS版本和平台吗 Mac OS X上的地雷:
$ phantomjs -v
1.9.8
只是工作:
$ phantomjs test_phantomjs.coffee
hello phantomjs
在Phantomjs2.0中,取消了对coffee脚本的支持 (免责声明:我是/曾经是贡献团队的一员) CasperJS中对咖啡脚本的支持取决于您使用的phantomJs版本,因为这是提供开箱即用咖啡脚本支持的phantomJs 您还可以使用并安装slimerjs(),在我看来,它比phantomjs性能更好,并且支持coffeescript脚本
正如其他人所说,PhantomJSV2.x不再支持CoffeeScript 因此,现在您有2个选项可以使用CoffeeScript运行PhantomJS:
- 使用PhantomJS v1.9.8运行普通的
文件*.coffee
- 将
文件编译为*.coffee
,并使用PhantomJS v2.x运行*.js
*.js
package.json
的样子:
{
"scripts": {
"pretest": "npm install && coffee --compile **/*.coffee",
"test": "casperjs test --fail-fast script/*.js",
"watch": "coffee --watch --compile **/*.coffee"
}
}
更多详细信息,请参阅
顺便说一句,下面是在Ubuntu上安装PhantomJSV1.9.8的方法
$sudo apt获取更新
$sudo-apt-get-install-build-sential g++flex-bison-gperf-ruby-perl\
libsqlite3开发libfontconfig1开发libicu开发libfreetype6 libssl开发\
libpng dev libjpeg dev python libx11 dev libxext dev git
$cd~
$wget-O-https://github.com/ariya/phantomjs/archive/1.9.8.tar.gz |焦油zxvf-
$cd~/phantomjs-1.9.8
$bash build.sh#大约需要30分钟(取决于主机)
$sudo ln-s~/phantomjs-1.9.8/bin/phantomjs/usr/local/bin
$phantomjs——版本
1.9.8
干杯。您解决过这个问题吗?我遇到了同样的问题。我注意到我的脚本可以在OSX上运行,但不能在Ubuntu上运行。通过更新phantomjs的最新版本(编写本文时为1.9.8)解决了此问题。我建议添加一个类似于
“watch”的监视任务:“coffee-o js/-cw src/”