2015-04-11 3 views
4

Я хотел бы протестировать пакет метеоритов google analytics на удаленном сервере.Как установить переменную среды в сервере Meteor?

settings.json

{ 
    "public" : { 
    "ga": { 
     "account":"UA-dfgddhdh-5" 
    } 
    } 
} 

В локальном сервере, я просто передать в --settings вариант. Я посмотрел на http://meteorpedia.com/read/Environment_Variables и http://docs.meteor.com/#/full/meteor_settings, но до сих пор неясно, что я должен сделать, чтобы установить эту переменную окружения внутри meteor deploy. Спасибо за помощь!

EDIT:

if (Meteor.isServer) { 
    Meteor.startup(function() { 
    var settings = JSON.parse(
     '{"public" : {"ga": {"account":"UA-5555555-5"}}}' 
    ); 
    process.env.METEOR_SETTINGS = settings; 
    }); 
} 

Является ли это правильный подход? Кроме того, для пакета https://github.com/datariot/meteor-ganalytics этот параметр требуется перед загрузкой самого пакета. Как это обеспечить?

ответ

10

Вы можете использовать на стороне сервера:

process.env.ENV_VARIABLE = "something" 

вместо $ export ENV_VARIABLE='something'

+0

Спасибо! Вы могли бы увидеть отредактированный вопрос для меня? –

+1

@MaximusS Вы могли бы сделать это, но это не лучший подход. При запуске 'meteor deploy' просто добавьте вместо него' --setings/path/to/settings.json'. Не связанный, но JSON должен быть сырым, вам не нужно запускать разбор – Akshat

+0

@akshat прав. Вы делаете это так же, как и локально, добавляя - -settings – SirCharlesWatson