Подтвердить что ты не робот

Переменные среды NodeJS в Grunt

Я переношу свой проект просто node server.js на использование Grunt.

Я использовал для запуска моего приложения непосредственно из webstorm, и для меня были бы установлены переменные окружения.

Как я могу добиться того же в Grunt?

Мне нужно либо запустить grunt из webstorm (windows), либо настроить env vars при запуске grunt (явно)

Это не проблема при развертывании, потому что heroku уже занимается настройкой моих env vars.

4b9b3361

Ответ 1

используйте плагин grunt-env: https://npmjs.org/package/grunt-env

и установите конфигурацию:

grunt.initConfig({
  env : {
    options : {
      //Shared Options Hash
    },
    dev : {
      NODE_ENV : 'development',
      DEST     : 'temp'
    }
  },
  'another-task': {}
});

в вашем файле grunt, вы, вероятно, определите некоторую задачу по умолчанию:

grunt.registerTask('default', ['env', 'another-task']);

поэтому, если вы запускаете "grunt default", сначала устанавливаются ваши env-vars, а затем запускается "другая задача"

если вы хотите указать текущую среду через параметр командной строки, вы можете использовать grunt.option:

grunt.initConfig({
  env : {
    options : {
      //Shared Options Hash
    },
    dev : {
      NODE_ENV : grunt.option('environment') || 'development',
      DEST     : 'temp'
    }
  },

в этом примере, если вы вызовете свою задачу grunt с помощью --environment=production production, будет установлено, иначе будет установлено значение