2017-08-10 15 views
0

J'utilise requirejs pour gérer les fichiers javascript dans mon projet. Cependant, il y a des bibliothèques externes que je veux utiliser qui n'adhèrent pas au format AMD. Une bibliothèque que je veux inclure est barba.js. Comment cela serait-il fait en utilisant le package loading feature de requirejs? Idéalement, je veux inclure un module commonjs sans exécuter d'outil de conversion.Meilleure façon d'inclure des modules commonjs dans un projet en utilisant requirejs

+1

À moins que je manque quelque chose de grand ici, Barba. js adhère au format AMD, les premières lignes du code essaient d'utiliser différentes solutions telles que exports et define. Cela signifie que cela devrait fonctionner correctement avec requireJS. – Salketer

Répondre

1

Barba n'utilise pas le format de module CommonJS.

Barba utilise le format de module UMD (Universal Module Definition). Cela signifie qu'il est compatible avec les deux le chargement du module AMD (tel qu'utilisé par RequireJS) et le chargement du module CommonJS (tel qu'utilisé par Node.js).

Donc, cela signifie que vous pouvez simplement inclure Barba - ou tout autre module au format UMD - avec RequireJS la même façon d'inclure un module AMD:

define([ 
    "barba/barba" 
], function(Barba) { 
    Barba.Pjax.start(); // You can use Barba here 
}); 
0

De requireJS doc.

define(function(require, exports, module) { 
    //Put traditional CommonJS module content here 
}); 

Ceci devrait vous aider à faire le bon choix. Je ne sais vraiment pas si c'est nécessaire.

+0

Merci. J'ai vu cette option mais je préfèrerais ne pas modifier manuellement chaque fichier si possible. –

+0

Comme je l'ai laissé entendre, je ne pense pas que vous devriez même le faire ... En regardant le code source de barba.js , Je pense qu'il est fait pour travailler avec requireJS. – Salketer