Пакет npm для jQuery определенно используется для включения jsdom с ним, поэтому он вообще будет работать в узле: jQuery должен иметь некоторую среду DOM для работы.
Вы можете проверить, что старые версии использовали его, выполнив npm install [email protected]
. Вы увидите, что с ним установлено jsdom. По какой-то причине они, похоже, удалили jsdom из последних выпусков. Я не знаю почему.
Однако, используя jsdom 7.x для запуска JQuery код прост:
var jsdom = require("jsdom");
var window = jsdom.jsdom().defaultView;
jsdom.jQueryify(window, "http://code.jquery.com/jquery.js", function() {
var $ = window.$;
$("body").prepend("<h1>The title</h1>");
console.log($("h1").html());
});
Путь может быть изменен на другую версию JQuery или локальный файл.
Примечание: более ранние версии jsdom, включая серии 3.x, нуждаются в линии var window = jsdom.jsdom().parentWindow;
вместо var window = jsdom.jsdom().defaultView;
. 4.x сделал так, что parentWindow
больше не работает.
Это не работает с моей версии (v0.10.28) и текущих Jquery и jsdom модулей. – Michael
@Michael Вам необходимо использовать свойство parentWindow. 'createWindow()' не существует. –