2014-04-16 15 views
8

Zainstalowałem casperjs po raz pierwszy i uruchomiłem przykładowe skrypty. Pierwszy przykładowy skrypt (javascript) działał bez incydentów. Potem próbowałem prowadzenie coffeescript próbki, które wolę, i otrzymała następujący błąd:casperjs nie może uruchomić skryptów CoffeeScript

Unable to load script test.coffee; check file syntax

szukałem odpowiedzi i rozwiązania w jedynej related issue nie działa dla mnie. Udało mi się skompilować CoffeeScript (test.coffee) do JavaScript (test.js), a następnie ponownie uruchomić skompilowany JavaScript, bez nieprzyzwoitości.

Próbowałem wyśledzić błąd, wyszukując komunikat o błędzie w plikach casperjs. Znalazłem komunikat o błędzie na końcu pliku ~/.node/lib/node_modules/casperjs/bin/bootstrap.js, który przekazuje kontrolę do phantomjs. Stworzyłem prostą do coffeescript: test_phantomjs.coffee:

console.log "hello phantomjs" 
phantom.exit() 

i prowadził Script (phantomjs test_phantomjs.coffee) z następującym wynikiem:

Can't open 'test_phantomjs.coffee'

W tym momencie jestem na straty. Problem jest bardziej niewygodny niż cokolwiek innego, ponieważ kompilacja w JavaScript rozwiązuje problem. Czy ich coś mi brakuje?

+0

Czy kiedykolwiek to rozwiązałeś? Występuję w tym samym problemie. Zauważyłem, że mój skrypt działa na systemie OSX, ale nie na Ubuntu. – patrickgamer

+0

Miał ten sam problem na Phantom 1.9.0. Rozwiązany z aktualizacją do najnowszej wersji phantomjs (1.9.8 w momencie pisania). – maxko87

Odpowiedz

0

Działa dla mnie. Czy możesz zamieścić swoją wersję i platformę PhantomJS?

Mine w systemie Mac OS X:

$ phantomjs -v 
1.9.8 

Podobnie działa:

$ phantomjs test_phantomjs.coffee 
hello phantomjs 
1

(Zastrzeżenie: jestem/byłem częścią zespołu składkowego) suppo rt skryptu kawowego w CasperJS zależy od wersji phantomJs, których używasz, ponieważ jest to phantomjs, które zapewniają obsługę skryptów kawy z pudełka.

Możesz także użyć i zainstalować slimerjs (https://slimerjs.org), który - z mojego punktu widzenia - jest bardziej wydajny niż phantomjs i obsługuje skrypty coffeescript.

Mickaël

0

Jak inni mówią, PhantomJS 2.x nie obsługuje już coffeescript.

Dlatego teraz masz 2 opcje do uruchomienia PhantomJS z coffeescript:

  • Run ślizgowe *.coffee Pliki z PhantomJS v1.9.8
  • kompilacji *.coffee pliki *.js i uruchom *.js z PhantomJS v2.x

polecam ten ostatni up-to-date drogę, a to jest jak package.json wygląda następująco:

{ 
    "scripts": { 
     "pretest": "npm install && coffee --compile **/*.coffee", 
     "test": "casperjs test --fail-fast script/*.js", 
     "watch": "coffee --watch --compile **/*.coffee" 
    } 
} 

Zobacz więcej szczegółów na ymkjp/phantomjs2x_coffee_sample.

Przy okazji, oto sposób instalacji PhantomJS v1.9.8 na Ubuntu.

$ sudo apt-get update 
$ sudo apt-get install build-essential g++ flex bison gperf ruby perl \ 
    libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev \ 
    libpng-dev libjpeg-dev python libx11-dev libxext-dev git 
$ cd ~ 
$ wget -O- https://github.com/ariya/phantomjs/archive/1.9.8.tar.gz | tar zxvf - 
$ cd ~/phantomjs-1.9.8 
$ bash build.sh # It takes 30 min or so (Up to your host machine) 
$ sudo ln -s ~/phantomjs-1.9.8/bin/phantomjs /usr/local/bin 
$ phantomjs --version 
1.9.8 

Pozdrawiam.

+0

Polecam dodanie zadania zegarka takiego jak ten "zegarek" ":" kawa -o js/-cw src/"' '' –

Powiązane problemy