$.getJSON('https://api.Twitch.tv/kraken/channels/' + SLoppierKitty7, function(channel) {
if (channel["stream"] == null) {
var live ="no"
} else {
var live ="yes"
}
c'est mon code mais quand je le lance, j'obtiens l'erreur suivante
E:\Bot Sloppers\node_modules\jQuery\lib\node-jquery.js: 5 Window = require ('jsdom'). Jsdom (). CreateWindow (); ^
TypeError: require (...). Jsdom (...). CreateWindow n'est pas une fonction Dans create (E:\Sloppers bot\node_modules\jQuery\lib\node-jquery.js: 5: 39 ) sur E:\Sloppers bot\node_modules\jQuery\lib\node-jquery.js: 9435: 18 sur Object. (E:\Sloppers bot\node_modules\jQuery\lib\node-jquery.js: 9437: 2) Dans Module._compile (module.js: 434: 26) Dans Object.Module ._extensions..js (module.js: 452: 10) dans Module.load (module.js: 355: 32) dans Function.Module._load (module.js: 310: 12) À Module.require (module.js: 365: 17) À require (module.js: 384: 17) À Object. (E:\Sloppers bot\bot.js: 2: 9)
que fais-je
c'est pour un bot je travaille
jquery 3.2.1, jsdom 10.1.0. Ça marche.
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM(`<!DOCTYPE html>`);
const $ = require('jQuery')(window);
$('<h1>Hello</h1>').appendTo('body');
console.log($('h1').text());
J'ai été confronté au même problème et lors du débogage, j'ai découvert quelque chose de nouveau.
Quand tu fais -
npm install jQuery
Il installe la version 1.7.4 de jQuery sur votre projet.
Et quand tu le fais -
npm install jquery
Il installe la version 3.2.1 de jQuery sur votre projet.
La différence entre les deux commandes ne concerne que la majusculeQ. Donc, si vous obtenez cette erreur, vous utilisez probablement l'ancienne version de jQuery.
Vous pouvez en savoir plus sur la première commande (l'ancienne version) ici et sur la seconde commande ici .
Oui. jQuery s'attend à ce que la "fenêtre" soit présente, ce qui est normalement un objet réservé au navigateur. En tant que tel, la fenêtre doit être simulée. C'est ce que fait jsdom.
Après avoir inclus jsdom (npm install jsdom
):
// Load jsdom, and create a window.
var jsdom = require("jsdom").jsdom;
var doc = jsdom();
var window = doc.defaultView;
// Load jQuery with the simulated jsdom window.
$ = require('jquery')(window);
Voir la documentation de jsdom pour plus d’informations: https://www.npmjs.com/package/jsdom
rien n'a fonctionné pour moi d'ici,
ma version de jquery: 3.2.1
jsdom version: 10.1.0 a finalement trouvé une solution:
var myHtmlString = 'akkadsf lakuseh alhf lasudfa ls<p></p>';
function jQuery(doc){
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM();
const JQ = require("jquery")(window)(`<html>${doc || ''}</html>`);
}
var $ = jQuery;
// my html string:
var text = $(myHtmlString).text();