casperjs无法运行CoffeeScript脚本

casperjs无法运行CoffeeScript脚本,coffeescript,phantomjs,casperjs,Coffeescript,Phantomjs,Casperjs,我第一次安装了casperjs并运行了示例脚本。第一个示例脚本(javascript)运行时没有发生任何事件。然后,我尝试运行我更喜欢的coffescript示例,并收到以下错误: 无法加载脚本test.coffee;检查文件语法 我一直在寻找答案,但“唯一的答案”中的答案对我不起作用。我能够将CoffeeScript(test.coffee)编译成JavaScript(test.js),然后再次运行编译后的JavaScript,没有任何不雅之处 我试图通过在casperjs文件中搜索错误消息来

我第一次安装了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:

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
    文件编译为
    *.js
    ,并使用PhantomJS v2.x运行
    *.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/”