Есть ли способ передать переменную для оценки или альтернативно загрузить файл JSON из вычисления? - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь передать некоторые данные, расположенные в локальном файле JSON, в casper.evaluate, но, похоже, оттуда они недоступны.Я пытался загрузить его извне, но не могу прочитать его.Я также пытался загрузить его изнутри оценить следующим образом:

var keyWords = casper.evaluate(function () {
  // load local JSON file
  var json = require('../keywords.json');
  return json;
});

console.log(JSON.stringify(keyWords));

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете передать JSON в качестве аргумента casper.evaluate(), используя следующий метод:

var keyWords = casper.evaluate(function (json) {
  return json;
}, json);

Полная программа для выполнения этой задачи будет выглядеть примерно так:

var casper = require('casper').create();

casper.start('https://example.com/');

casper.then(function () {
  var json = require('../keywords.json');

  var keyWords = this.evaluate(function (json) {
    return json;
  }, json);

  this.echo(JSON.stringify(keyWords));
});

casper.run();
...