Qualcuno trova ancora la sintassi o un pattern per rilevare l'ambiente di hosting utilizzando Meteor.js? Ho degli zaini Heroku funzionanti, e ho un ambiente di sviluppo/sviluppo, ma sto disegnando un vuoto su come far sì che la mia app rilevi l'ambiente in cui è in esecuzione.Rilevare l'ambiente con Meteor.js?
C'è un modo per avere un nodo. js rileva su quale porta sta funzionando? Speravo che potesse esserci qualcosa di basso livello come app.address(). Port, ma non sembra funzionare ...
Modifica: Questa è la soluzione che ha funzionato per me. Si noti che è necessario eseguire quanto segue sul server, quindi è necessario includerlo in server \ server.js o in un file simile.
if (Meteor.is_server) {
Meteor.startup(function() {
// we want to be able to inspect the root_url, so we know which environment we're in
console.log(JSON.stringify(process.env.ROOT_URL));
// in case we want to inspect other process environment variables
//console.log(JSON.stringify(process.env));
});
}
creato anche il seguente:
Meteor.methods({
getEnvironment: function(){
if(process.env.ROOT_URL == "http://localhost:3000"){
return "development";
}else{
return "staging";
}
}
});
che consente quanto segue sul lato client:
Meteor.call("getEnvironment", function (result) {
console.log("Your application is running in the " + result + "environment.");
});
Grazie Rahul!
Se si desidera pubblicare il codice che ha funzionato, è sufficiente modificare la propria domanda e menzionare che ha funzionato per voi, o inviare una risposta con il codice. Modificare la mia risposta non è proprio il posto giusto per farlo. :) – Rahul
Oops! Hai risolto le cose. Grazie ancora per l'aiuto! :) – AbigailW
Questo codice è estremamente utile, ma come FYI inizialmente è tornato indefinito (credo a causa del ritardo asincrono) Quando ho aggiunto l'errore come primo argomento e l'ho incluso in un condizionale per registrare l'errore, ha funzionato. –