Erreur de base lors de l’utilisation de jQuery avec nodejs

J’essaie d’utiliser un jquery dans mon projet et dès que j’ai essayé de l’utiliser, je suis tombé sur une erreur de code copié et je ne peux obtenir aucune aide de Google à ce sujet.

var jquery = require('jquery'); var $ = jquery.create(); ^ TypeError: Object function ( w ) { if ( !w.document ) { throw new Error( "jQuery requires a window with a document" ); } return factory( w ); } has no method 'create' 

Longue histoire:

J’essaie d’obtenir du texte en clair à partir de certains fichiers HTML que j’ai.

J’espère utiliser la fonction .text() qui est supposée faire cela.

Mon code résultant devrait être:

 console.log($(data).text()); 

Vous ne pouvez pas utiliser jquery sur le serveur car cela nécessite explicitement window et window.document . Essayez cheerio

essayer:

 var jsdom = require("jsdom").jsdom; var markup = '

Hello World!

Heya Big World!

'; var doc = jsdom(markup); var window = doc.parentWindow; var $ = require('jquery')(window) console.log($('.example').text());

En gros, vous pouvez utiliser le module jsdom pour créer un DOM à partir de votre balisage, comme vous le feriez avec jquery dans le navigateur.

J’ai eu le même problème. Pour le résoudre, j’ai installé une ancienne version de jquery: npm install [email protected]

Cela fonctionnait très bien pendant plusieurs mois. Mais ensuite ils ont changé quelque chose et maintenant ce n’est pas le cas. Je pourrais exécuter jQuery sans une fenêtre très bien et cela a fonctionné parfaitement sur le noeud js. Mais pas avec la dernière version pour une raison quelconque. Vraiment bizarre.

Ce que nous essayons de faire est juste ceci:

$ = require (“jquery”); $ (“..). find (“. message “). html (” Hello World! “);