Файловый ввод-вывод внутри CasperJS

Возможно ли читать/записывать файлы внутри сценария CasperJS?

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

Вызов casperjs fileio.jsвозвращает:

'undefined' is not a function

Даже после запуска npm install fs.

Бонусный балл, если нет: объясните, почему?


person AsTeR    schedule 07.03.2013    source источник


Ответы (1)


CasperJS не использует модуль NodeJS fs. Вместо этого он использует PhantomJS.

Вот краткий пример того, как использовать модуль файловой системы PhantomJS:

var fs = require('fs');
var utils = require('utils');
var data = fs.read('testdata.dat');
utils.dump(data);
person hexid    schedule 07.03.2013
comment
Нашел этот ответ после нескольких часов разочарования - Doh! Кто-нибудь знает, почему они используют отдельные модули узлов или не могут иметь согласованные имена для тех немногих функций, которые у них есть? Это кажется очень нелогичным и вызвало большое разочарование у других разработчиков. - person Zaheer; 30.12.2013
comment
@Zaheer Casperjs — это реализация Qt, а не библиотека nodejs или что-то подобное, поэтому им пришлось заново изобретать колесо. - person Purefan; 20.09.2017