Приведенный ниже код представляет собой небольшой фрагмент из моего файла 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, ни один из которых не дал ожидаемых результатов.