javascript - node - npm install
¿Cómo podemos o podemos usar módulos de nodos a través de npm con Meteor? (6)
Tenga en cuenta que esta respuesta se aplica a las versiones de Meteor anteriores a la 0.6.0, que se lanzó en abril de 2013 y agregó la integración directa de
npm
Instale los módulos como lo haría normalmente a través de npm
y luego use
var require = __meteor_bootstrap__.require,
pd = require("pd"),
after = require("after") // etc
Cargue los módulos que desee
Meteor 1.3 , lanzado el 28 de marzo de 2016, brinda a las aplicaciones compatibilidad total con módulos ES6 (ES2015) y soporte NPM externo. Las aplicaciones y paquetes ahora pueden cargar módulos de NPM directa y fácilmente en el cliente y en el servidor.
Si puede usar 1.3, luego consulte http://guide.meteor.com/using-packages.html#installing-npm .
Por ejemplo, para usar moment.js:
meteor npm install --save moment
Luego en tu código:
import moment from ''moment'';
// this is equivalent to the standard node require:
const moment = require(''moment'');
Si necesita usar una versión anterior de Meteor, lea el resto de la respuesta a continuación.
Pre-Meteor 1.3 :
Desde la v0.6.0, Meteor se integra directamente con los módulos de NPM con la ayuda de un paquete de terceros. Por ejemplo, para usar un módulo como ws
,
- Ejecute
sudo npm install -g ws
(o para instalaciones locales, vea this ) En su archivo de JavaScript, separe
var Websocket = Npm.require(''ws''); var myws = new Websocket(''url'');
Para usar un módulo de Nodo central, simplemente realice la llamada Npm.require()
correspondiente, por ejemplo, var Readable = Npm.require(''stream'').Readable
.
Puede usar cualquiera de los más de 230,000 módulos de NPM directamente con Meteor gracias al paquete de NPM desarrollado por Arunoda.
También puede definir dependencias en paquetes Npm a partir de paquetes inteligentes, a partir del anuncio inicial del soporte npm:
Su paquete inteligente ahora puede definir dependencias directamente, agregando una llamada a Npm.depends
en package.js
:
Npm.depends({
"awssum": "0.12.2",
"underscore.string": "2.3.1"
});
Todo esto funciona bien con la recarga de código caliente, al igual que el resto de Meteor. Cuando realice cambios, el paquete descargará automáticamente los paquetes npm faltantes y volverá a fijar sus dependencias.
Para usar un módulo NPM dentro del código del servidor, use Npm.require
como lo haría normalmente con plain require
. Notablemente, __meteor_bootstrap__.require
ha sido eliminado y todos sus usos se han convertido a Npm.require
.
Hay un pequeño ejemplo de usar un módulo NPM en su aplicación .
Escribí un Gist sobre cómo hacer esto a partir de Meteor 0.6.5, Cómo agregar Node.js npms a su proyecto Meteor.js .
Estoy usando una secuencia de comandos que instala muy bien todas las dependencias de Node.js Se comporta de manera similar al soporte oficial en la rama del motor Meteor (instala dependencias en tiempo de ejecución), pero también admite la instalación desde repositorios Git y artículos similares.
Hice una reseña completa sobre esto en Meteorpedia:
http://www.meteorpedia.com/read/npm
El artículo trata sobre cómo usar npm en tu aplicación y / o paquetes, y patrones comunes para envolver las devoluciones de llamada regulares y las devoluciones de llamada de emmitter para que funcionen correctamente en Meteor y Fibras, e incluir referencias a las utilidades asincrónicas de Arunoda y recursos adicionales.
Podría usar el paquete Meteor Npm
meteor add meteorhacks:npm
Luego, cree un archivo packages.json
en el directorio raíz de su proyecto con la información del módulo NPM.
{
"redis": "0.8.2",
"github": "0.1.8"
}
Entonces tan simple como (lado del servidor)
var github = Meteor.npmRequire("github");
var redis = Meteor.npmRequire("redis");
Entonces solo usa Meteor.npmRequire
lugar de require