Come posso aggiungere librerie JavaScript di terze parti a un’applicazione Meteor?

Voglio aggiungere un plugin di front-end JavaScript, come jquery.center.js , a un’app Meteor.

Se lo metto nella mia app/ directory e aggiorno la pagina ottengo questo errore:

La tua app si arresta in modo anomalo. Ecco l’ultimo registro.

node.js: 201
lanciare e; // process.nextTick error, o ‘error’ event al primo tick
^
ReferenceError: jQuery non è definito
su app / jquery.center.js: 43: 1
in /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:111:21
a Array.forEach (nativo)
a funzione. (/Users/crapthings/Desktop/app/.meteor/local/build/server/underscore.js:76:11)
in /Users/crapthings/Desktop/app/.meteor/local/build/server/server.js:97:7
Uscito con il codice: 1
La tua applicazione sta andando in crash. In attesa di cambio di file.

Stai mettendo il file javascript del plug-in jquery direttamente nella cartella dell’app, in modo che il file javascript venga caricato sia per il client che per il server.

Come da documentazione di Meteor:
Il client carica javascript da: project / public e project / client
Il server carica javascript da: project / public e project / server folders.

A partire dalla versione 1.0, Meteor utilizza internamente jQuery nel client, quindi è ansible utilizzare direttamente la libreria senza aggiungere jQuery. Tuttavia, si consiglia di aggiungere jQuery al progetto Meteor in modo esplicito:

la meteora aggiunge jquery

I documenti di Meteor spiegano in dettaglio come vengono caricati i file JavaScript e dove devono andare le risorse statiche (CSS, immagini).

Vedi anche come riconfezionare una libreria esistente per Meteor .

Inseriscilo nella cartella client tale che venga caricato solo sul client, senza bisogno di jQuery sul server.

Un modo per farlo in MeterorJS 1.3.x

Aggiungi i file JS nella directory public\js\

inserisci la descrizione dell'immagine qui

Caricalo dal metodo Meteor.startup usando $ .getScript nel client / main.js Se vuoi controllare la sequenza di caricamento dello script, controlla con più $ .getScript per ogni file js.

inserisci la descrizione dell'immagine qui

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

A partire da Meteor 1.3, puoi aggiungere librerie JavaScript di terze parti a un progetto Meteor direttamente tramite il loro pacchetto npm :

 meteor npm install --save moment 

Sia il pacchetto lato server che quello lato client funzionano senza modifiche perché il sistema di moduli ES2015 di Meteor si occupa di creare un ambiente simile a un nodo nel client tanto quanto browserify o webpack.

Se un pacchetto npm non funziona correttamente, cerca un wrapper su Atmoshpere . Atmosphere è il terzo repository ufficiale di Meteor, ma sempre meno rilevante dopo Meteor v1.3. Sarà eventualmente eliminato gradualmente .

Storia

Prima di Meteor 1.3, dovevi reimballare le librerie di terze parti per Meteor . Uno strumento chiamato Autopublish è stato sviluppato per automatizzare il processo. Dopo che il Meteor Development Group ha smesso di offrire hosting gratuito su meteor.com, l’edizione di Autopublish è stata interrotta.