jQuery の DOM とは関係のない Deferred の動きを確認するために jQuery を Node.js で動かしたかったのだけど、下記によるとそういう場合でも window オブジェクトが必要とのこと。
ただ、この通りにやってもなんか動きませんでした。
下記のどちらかで動かせられました。
jsdom
yarn add jquery jsdom
const { JSDOM } = require('jsdom') const $ = require('jquery')(new JSDOM().window) $.Deferred().resolve(1).promise() .then((v) => { console.log(v) })
jsdom-no-contextify
yarn add jquery jsdom-no-contextify
const $ = require('jquery')(require('jsdom-no-contextify').jsdom().parentWindow) $.Deferred().resolve(1).promise() .then((v) => { console.log(v) })