В чем разница между jsdom.env() и jsdom.jsdom?

Я все еще не понимаю, как использовать jsdom. В чем разница между jsdom.env() и jsdom.jsdom?


person AppleGrew    schedule 09.04.2011    source источник


Ответы (1)


файл readme поясняет, что

jsdom.env создан для простоты использования, что редко встречается в мире DOM! Поскольку в сети есть совершенно ужасный javascript, начиная с jsdom 0.2.0 jsdom.env не будет обрабатывать внешние ресурсы (скрипты, изображения и т. д.). Если вы хотите обработать javascript, используйте один из методов ниже (jsdom.jsdom или jsdom.jQueryify)

person intuited    schedule 09.04.2011
comment
Да, я полностью пропустил это. В любом случае, после вчерашних экспериментов и изучения кода jsdom, я обнаружил, что jsdom.env() позволяет вам внедрять файлы js (внешние или локальные), которые будут доступны при обратном вызове done . jsdom.jsdom наоборот более низкоуровневый, он просто возвращает структуру данных. Вам нужно вызвать createWindow(), чтобы получить window dom. Чтобы внедрить js-коды, нам нужно будет сделать еще несколько шагов (что можно увидеть в функции env jsdom.js). - person AppleGrew; 10.04.2011