Как мне правильно требовать JQuery и JSDOM в моем коде, используя узел? - PullRequest
0 голосов
/ 31 мая 2018

У меня проблемы с требованием jquery и JSDOM.Я использую узел, закодированный в atom, с nightmarejs, который уже установлен и необходим, и nightmarejs работает правильно.

Для jquery и JSDOM я сделал то же самое, что и nightmarejs, и использовал:

npm install jquery --save
npm install JSDOM --save

У меня сейчас естьв моей кодировке:

var Nightmare = require ('nightmare');
var nightmare = Nightmare({ show: true , height: 900});
const  jsdom  =  require("jsdom");
const   { JSDOM }  = jsdom;
    require("jsdom").env("", function(err, window) {
        if (err) {
            console.error(err);
            return;
        }

        var $ = require("jquery")(window);
    });

Если я удаляю все кодировки, которые включают JSDOM и jquery, моя кодировка будет работать, но как только я запрошу их и запусту в терминале, я получу ошибку:

require(...).env is not a function

Так что мне нужно сделать, чтобы заставить его работать правильно?

1 Ответ

0 голосов
/ 31 мая 2018

Мне удалось найти ответ самостоятельно.Вы не можете использовать .env в новейшем обновлении, поэтому для корректной работы требуется:

var jsdom = require('jsdom');
const { JSDOM } = jsdom;
const { window } = new JSDOM();
const { document } = (new JSDOM('')).window;
global.document = document;

var $ = jQuery = require('jquery')(window);
...