2013-03-07 12 views
24

Ist es möglich, Dateien in einem CasperJS-Skript zu lesen/schreiben?Datei-IO in CasperJS

var fs = require('fs'); 
var data = fs.readFileSync('testdata.data', 'utf-8'); 
console.log(data); 

Aufruf casperjs fileio.js Rückkehr:

'undefined' is not a function 

Auch nach npm install fs läuft.

Bonuspunkt wenn nicht: erklären warum?

Antwort

56

CasperJS verwendet das Modul fs von NodeJS nicht. Stattdessen verwendet es, dass die PhantomJS

Hier ein kurzes Beispiel, wie PhantomJS‘Dateisystem-Modul verwenden:

var fs = require('fs'); 
var utils = require('utils'); 
var data = fs.read('testdata.dat'); 
utils.dump(data); 
+9

fand diese Antwort nach Stunden der Frustration - Doh! Wer weiß, warum sie separate Knotenmodule verwenden oder für die wenigen Funktionen, die sie haben, keine konsistente Benennung haben könnten? Es scheint sehr, sehr kontraintuitiv zu sein und hat auch anderen Entwicklern viel Frust bereitet. – Zaheer

+0

der Code ist zu gut! : D – gumuruh

+0

@Zaheer Casperjs ist eine Qt-Implementierung, keine Nodejs-Bibliothek oder ähnliches, also mussten sie das Rad neu erfinden – Purefan