49 votes

Comment puis-je ajouter des bibliothèques JavaScript tierces à une application Meteor ?

Je veux ajouter un plugin JavaScript en frontal, du type jquery.center.js à une application Meteor.

Si je le mets dans mon app/ et rafraîchir la page, j'obtiens cette erreur :

Votre application se bloque. Voici le dernier journal.

node.js:201
throw e ; // erreur process.nextTick, ou événement 'error' sur le premier tick.
^
ReferenceError : jQuery n'est pas défini
à app/jquery.center.js:43:1
at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:111:21
at Array.forEach (natif)
à Function. (/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)
at /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:97:7
Sorti avec le code : 1
Votre application se bloque. En attente d'un changement de fichier.

38voto

Nachiket Points 2105

Vous mettez le fichier javascript du plugin jquery dans le dossier de l'application directement, de sorte que le fichier javascript sera chargé pour le client ainsi que le serveur.

Conformément à la documentation de Meteor :
Le client charge le javascript à partir de : projet/public et projet/client
Le serveur charge le javascript à partir des dossiers suivants : projet/public et projet/serveur.

Depuis la version 1.0, Meteor utilise jQuery en interne dans le client, vous pouvez donc utiliser votre bibliothèque directement sans ajouter jQuery. Cependant, il est recommandé d'ajouter explicitement jQuery à votre projet Meteor :

meteor add jquery

La documentation de Meteor explique en profondeur comment les fichiers JavaScript sont chargés et où les actifs statiques doivent aller (CSS, images).

Voir aussi comment reconditionner une bibliothèque existante pour Meteor .

0 votes

Qu'en est-il des actifs (css, images, ...) ? Où les avez-vous mis ?

0 votes

Les css et les images doivent être placées dans le répertoire "public" à la racine de votre projet. Plus d'informations : Où dois-je mettre mes fichiers ?

19voto

Tom Wijsman Points 7139

Mettez-le dans le client de sorte qu'il ne soit chargé que sur le client, sans qu'il soit nécessaire d'utiliser jQuery sur le serveur.

13voto

Gajen Sunthara Points 9

Une façon de le faire dans MeterorJS 1.3.x

Ajoutez les fichiers JS dans le répertoire public\js\ répertoire

enter image description here

Le charger à partir de la méthode Meteor.startup en utilisant $.getScript dans client/main.js Si vous voulez contrôler la séquence de chargement du script, contrôlez avec plusieurs $.getScript pour chaque fichier js.

enter image description here

Meteor.startup(function(){
    $.getScript('js/fhir-client.js', function(){
        // script should be loaded and do something with it. 

    });
});

3voto

Dan Dascalescu Points 8165

À partir de Meteor 1.3, vous pouvez ajouter des bibliothèques JavaScript tierces à un projet Meteor directement via leur paquetage npm :

meteor npm install --save moment

Les paquets côté serveur et côté client fonctionnent sans modification car le système de modules ES2015 de Meteor se charge de créer un environnement de type Node dans le client, comme le font browserify ou webpack.

Si un paquet npm ne fonctionne pas correctement, cherchez un wrapper sur Atmoshpere . Atmosphere est le troisième dépôt de paquets officiel de Meteor, mais il est de moins en moins pertinent depuis Meteor v1.3. Il sera éventuellement supprimé .

Histoire

Avant Meteor 1.3, vous deviez repackage de bibliothèques tierces pour Meteor . Un outil appelé Autopublish a été développé pour automatiser le processus. Après que le Meteor Development Group a cessé d'offrir un hébergement gratuit sur meteor.com, Autopublish a été abandonné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X