run mongo_url how example deployment meteor

deployment - mongo_url - meteor up



¿Cómo sabe una aplicación de meteorito si se está ejecutando en un entorno de desarrollo, prueba o producción? (6)

Desde Meteor 1.3 estas banderas funcionan de la caja:

Meteor.isDevelopment Meteor.isProduction Meteor.isTest Meteor.isAppTest

Necesito usar configuraciones de proveedores de cuentas diferentes cuando la aplicación de meteoritos se ejecuta como entorno de desarrollo, prueba o producción.


En el servidor:

var inDevelopment = function () { return process.env.NODE_ENV === "development"; }; var inProduction = function () { return process.env.NODE_ENV === "production"; };

Meteor establece la variable de entorno NODE_ENV en "desarrollo" cuando ejecuta meteor . En producción, puede establecer la variable a lo que desee, de lo contrario se establecerá de forma predeterminada en "producción".

Actualización : Creé un paquete inteligente para permitir que esto funcione en el cliente y el servidor.

mrt add allow-env

Simplemente establece reglas de permiso en un archivo de servidor.

allowEnv({ NODE_ENV: 1 });


Hay una solicitud de extracción abierta en github que permitiría eso. Comenta / Vota por ello, ¡así que es más probable que te incluyan!


Muy fácil. Estoy ejecutando mi aplicación en cinco (diferentes) entornos diferentes. Simplemente utilizo una instrucción switch en el ROOT_URL como se muestra a continuación para cuatro entornos diferentes. Por supuesto, puede usar un if-else si solo tiene dos entornos. Funciona en el servidor. Simplemente cree un nuevo archivo llamado startup.js y use el siguiente ejemplo de código. ¡Aclamaciones!

switch (process.env.ROOT_URL) { case "http://www.production.com/": BLOCK OF CODE HERE break; case "http://www.staging.com/": BLOCK OF CODE HERE break; case "http://www.development.com/": BLOCK OF CODE HERE break; case "http://localhost:3000/": BLOCK OF CODE HERE break; }

En general, el formato para una instrucción switch en javascript es

switch(expression) { case n: code block break; case n: code block break; default: default code block }

ACTUALIZACIÓN: Meteor.absoluteUrl() cuenta que Meteor ahora proporciona Meteor.absoluteUrl() , que es similar a process.env.ROOT_URL con la adición de funcionalidad adicional. Ver docs .


Puede usar Meteor.settings junto con la opción --settings utilizada cuando se ejecuta meteor run o meteor deploy .

Por ejemplo, para ejecutar en modo dev , cree un archivo JSON, llámelo meteorConfigDev.json y coloque lo siguiente en él:

{ "public" : { "mode" : "dev" }, "anotherProperty" : "anotherValue" }

Ejecute su aplicación usando

meteor --settings meteorConfigDev.json

En el servidor y en el cliente puede acceder al "modo" usando:

Meteor.settings.public.mode //in this case it will be "dev"

Tenga en cuenta que las configuraciones en "público" están disponibles tanto en el servidor como en el cliente, mientras que todo lo demás (en este caso, "otra Propiedad") solo está disponible en el servidor.

A continuación, puede tener diferentes archivos de configuración para sus diferentes entornos.