comment importer une bibliothèque externe dans nodejs

Je voudrais savoir comment puis-je importer une bibliothèque externe à nodejs. Par exemple, je voudrais avoir la bibliothèque phanotmjs (je sais qu’il existe un npm pour obtenir des fantômes, mais ce n’est qu’un exemple).

Je pense qu’un moyen était d’obtenir le fichier source de la bibliothèque et de le décomposer dans un moduel comme celui-ci:

module.exports = function (name, cb) { //source code of lubrary }); 

Mais je pense que c’est une mauvaise façon.

Comment puis-je inclure une bibliothèque externe dans le projet nodejs pour l’utiliser avec ses fonctionnalités?

Merci

Sans exporter, un moyen élégant de copier hors de la bibliothèque entière, au bas de votre fichier de nœud. méchant, vous avez peut-être déjà pensé à cela. il y a aussi une mauvaise chose à ce sujet. vous ne pourrez pas le réutiliser dans tous les fichiers.

L’autre méthode consiste à exporter les fichiers de votre stream de travail chaque fois que vous avez besoin d’une fonction. Et je pense que ça va.

Sinon, pour répondre à cette question, vous pouvez écrire l’exportation de cette façon:

 module.exports = { removeElementFromArray_Mutate, hasClass, hasClass_ONEtest, removeClassFromAll, addClass, removeClass }; 

vous pouvez le faire avec noeud. toutes ces fonctions sont des fonctions normales déclarées de cette façon

 function removeClassFromAll(DOMobject, classes){ for(let i = 0; i < DOMobject.length; i++){ removeClass(DOMobject[i], classes); } } function hasClass_ONEtest(DOMElement, classe) { let allClasses = DOMElement.className.split(/\s+/); for(let i = 0; i < allClasses.length; i++){ if(allClasses[i].trim() === classe){ return true; } } return false; } function hasClass(DOMElement, classes) { if (typeof classes === 'string') { return hasClass_ONEtest(DOMElement, classes); } else { // multiple classes as array for (let i = 0; i < classes.length; i++) { if (!hasClass_ONEtest(DOMElement, classes[i])) { return false; } } return true; } } 

De cette façon, vous pouvez écrire un script rapide qui parsing tout le fichier et extraire les définitions des fonctions, si vous ne pouvez pas le faire manuellement. Vous pouvez utiliser regex, pour accélérer cela. vous avez besoin de deux modèles. le premier pour le function name( et le second pour le name = function( . J'espère que cela a été utile!)

la question était plutôt de savoir s'il y avait un moyen inclus avec nodejs. Il n'y en a pas pour le moment. ce peut être dans le futur. Vous pouvez également voir ceci. Comment inclure un fichier JavaScript dans un autre fichier JavaScript? . Cela ne va peut-être pas aider.

Quand on a requires un module sur nodejs, le contenu de module.exports est renvoyé. Donc, on peut retourner une fonction (comme vous le faites sur votre exemple) ou un object, comme dans

 in module.js: module.exports={ func:function(){ return true; }, val:10, ... } 

Ainsi, dans le fichier requirejs, vous pouvez:

  var m=require('module'); assert(m.func()===true); assert(10===m.val); 

Ceci est expliqué dans la documentation de nodejs sous Modules

Donc, si vous avez une bibliothèque JS externe qui expose trois fonctions: a, b et c, vous pouvez les envelopper comme suit:

 module.exports={ exportedA:lib.a, exportedB:lib.b, exportedC:lib.c }; lib.a=function(){ ... }; lib.b=function(){ ... }; lib.c=function(){ ... };