Приведенный ниже код — это всего лишь небольшой фрагмент из моего файла server.js, предназначенный только для запуска теста, предоставленного документацией jsdom.
var window = jsdom.jsdom().createWindow();
jsdom.jQueryify(window, './jq.min.js' , function() {
console.log('inside');
window.$('body').append('<div class="testing">Hello World, It works</div>');
console.log(window.$('.testing').text());
console.log('end');
});
Вывод, который я получаю буквально, просто inside
, а затем сервер зависает и больше не возвращается. Я добавил оператор отладки console.log(window);
, чтобы убедиться, что объект окна действительно создается, и в итоге я получил довольно большой оператор вывода с подробным описанием содержимого объекта. Однако я заметил одну вещь: выходные данные не показывают, что $
является определенным методом объекта window
, и фактически console.log(window.$);
отображает undefined
.
Я понимаю, что jsdom все еще находится в режиме разработки, но я что-то здесь упускаю?
В качестве фона я попробовал несколько вариантов кода, включая использование метода jsdom.env()
, а также создание документа из существующей HTML-разметки, но ни один из них не дал ожидаемых результатов.