30

私は自分のプロジェクトを単純なものからnode server.jsGruntの使用にシフトしています。

以前はWebstormから直接アプリケーションを実行していましたが、環境変数が設定されていました。

Gruntで同じことをどのように達成できますか?

webstorm(windows)からgruntを実行するか、gruntを実行するときにenv varsを設定する必要があります(明示的に)

herokuがすでにenvvarsの設定を処理しているため、これはデプロイ時に問題になりません。

4

1 に答える 1

53

grunt-env プラグインを使用します: https://npmjs.org/package/grunt-env

そしてあなたの設定を設定してください:

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

gruntfile では、おそらくいくつかのデフォルト タスクを定義します。

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

したがって、最初に「grunt default」を実行すると、環境変数が設定され、次に「another-task」が実行されます

コマンドライン オプションで現在の環境を指定する場合は、grunt.option を使用できます。

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

この例では、grunt タスクを--environment=productionproduction で呼び出すと設定され、それ以外の場合は development が設定されます

于 2013-03-27T10:35:32.877 に答える