2013-03-07 12 views
24

E 'possibile leggere/scrivere file all'interno di uno script CasperJS?File IO all'interno di CasperJS

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

Calling casperjs fileio.js rendimenti:

'undefined' is not a function 

anche dopo l'esecuzione npm install fs.

Punto bonus in caso negativo: spiegare perché?

risposta

56

CasperJS non utilizza il modulo fs di NodeJS. Invece, utilizza quello di PhantomJS

Ecco un breve esempio di come utilizzare il modulo del filesystem PhantomJS':

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

trovato questa risposta dopo ore di frustrazione - Doh! Qualcuno sa perché usano moduli di nodo separati o non potrebbero avere un nome coerente per le poche funzioni che hanno? Sembra molto molto contro-intuitivo e ha causato anche molta frustrazione agli altri sviluppatori. – Zaheer

+0

il codice è troppo buono! : D – gumuruh

+0

@Zaheer Casperjs è un'implementazione Qt, non una libreria nodejs o simile, quindi hanno dovuto reinventare la ruota – Purefan

Problemi correlati