Grunt中的NodeJS环境variables

我将我的项目从简单的node server.js转移到使用Grunt。

我曾经直接从webstorm运行我的应用程序,并为我设置了环境variables。

我怎样才能在Grunt中实现相同?

我需要从webstorm(windows)运行grunt,或者在运行grunt(显式)时设置env vars,

这在部署时不是问题,因为heroku已经负责设置我的环境variables。

使用grunt-env插件: https : //npmjs.org/package/grunt-env

并设置你的configuration:

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

在你的gruntfile中你可能会定义一些默认任务:

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

所以如果你首先运行“grunt default”,你的env-vars被设置,然后运行“another-task”

如果你想通过命令行选项指定当前的环境,你可以使用grunt.option:

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

在这个例子中,如果你使用--environment=production产品来调用你的grunt任务,否则将会设置开发