Comment Pouvons-nous ou Pouvons-nous utiliser les modules de noeuds via npm avec Meteor?

Comment Pouvons-nous ou Pouvons-nous utiliser les modules de noeuds via npm avec Meteor ?

ou est-ce quelque chose qui dépendra de l'emballage API ?

Ou est-il une méthode prescrite qui est recommandé?

45
demandé sur Peter Mortensen 2012-04-16 00:51:22

6 réponses

Meteor 1.3 , publié le 28 mars 2016, fournit des applications ES6 (ES2015) prise en charge complète des modules et hors des npm prise en charge. Les applications et les paquets peuvent maintenant charger les modules NPM directement et facilement sur le client et sur le serveur.

si vous pouvez utiliser 1.3, alors cochez http://guide.meteor.com/using-packages.html#installing-npm .

par exemple, pour utiliser le moment.js:

meteor npm install --save moment

puis dans votre code:

import moment from 'moment';

// this is equivalent to the standard node require:
const moment = require('moment');

si vous devez utiliser une ancienne version de Meteor, lisez la suite de la réponse ci-dessous.


Pré-Météore 1.3 :

depuis v0.6.0, Meteor s'intègre directement avec les modules NPM à l'aide d'un package tiers. Par exemple, pour utiliser un module comme ws ,

  1. Run sudo npm install -g ws (ou pour les installations locales, voir this )
  2. dans votre fichier JavaScript sever,

    var Websocket = Npm.require('ws');
    var myws = new Websocket('url');
    

pour utiliser un module de noyau, il suffit de faire l'appel correspondant Npm.require() , par exemple var Readable = Npm.require('stream').Readable .


vous pouvez utiliser plus de 230.000 modules NPM directement avec Meteor grâce au npm package développé par Arunoda.

vous pouvez également définir des dépendances sur les paquets Npm des paquets intelligents - de l'annonce initiale du support npm:

votre paquet intelligent peut maintenant définir directement les dépendances, en ajoutant un appel à Npm.depends dans package.js :

Npm.depends({
  "awssum": "0.12.2",
  "underscore.string": "2.3.1"
});

tout cela fonctionne bien avec le code chaud recharger, tout comme le reste de Meteor. Lorsque vous apportez des modifications, le bundler téléchargera automatiquement les paquets npm manquants et renumérotera ses dépendances.

pour utiliser un module NPM dans le code du serveur, utilisez Npm.require comme vous utiliseriez normalement require . Notamment, __meteor_bootstrap__.require a été éliminé et toutes ses utilisations ont été converties en Npm.require .

Il y a un petit exemple d'utilisation d'un Module NPM dans votre application .

45
répondu Dan Dascalescu 2017-05-23 10:29:12

notez que cette réponse s'applique aux versions de Meteor antérieures à 0.6.0, qui a été publié en avril 2013 et a ajouté le direct npm intégration

installer les modules comme vous le feriez normalement par npm et ensuite utiliser

var require = __meteor_bootstrap__.require,
    pd = require("pd"),
    after = require("after") // etc

chargez tous les modules que vous voulez

21
répondu Raynos 2015-02-25 11:25:17

j'ai fait un rapport complet sur ceci sur Meteorpedia:

http://www.meteorpedia.com/read/npm

l'article décrit comment utiliser npm dans votre application et/ou vos paquets, et les modèles courants pour envelopper les callbacks réguliers et les callbacks emmitter en cas d'événement pour fonctionner correctement dans Meteor et les fibres, et inclut les références à Arunoda async-utilities et ressources supplémentaires.

6
répondu gadicc 2014-03-24 05:15:32

, Vous pouvez utiliser le Meteor Mnp package

meteor add meteorhacks:npm

créez ensuite un fichier packages.json dans le répertoire racine de votre projet avec les informations du module NPM.

{
    "redis": "0.8.2",
     "github": "0.1.8"
}

puis aussi simple que (Côté Serveur)

var github = Meteor.npmRequire("github");
var redis = Meteor.npmRequire("redis");

utilisez Meteor.npmRequire au lieu de require

6
répondu Akshat 2015-08-04 00:31:17

j'ai écrit un Gist sur la façon de faire cela à partir de météore 0.6.5, comment ajouter un noeud.nmpsjs à votre météore.js projet .

1
répondu kenyee 2013-08-24 22:28:19

j'utilise un tel script qui installent bien tous les noeuds .js dépendances. Il se comporte comme le support officiel dans la branche moteur Meteor (il installe des dépendances à l'exécution), mais il supporte aussi l'installation à partir de dépôts Git et autres goodies.

-1
répondu Mitar 2013-08-24 22:29:45