我正在将我的项目从简单的node server.js转变为使用Grunt。

我曾经直接从webstorm运行我的应用程序,并且会为我设置环境变量。

如何在Grunt中实现相同目标?

我需要从webstorm(windows)运行grunt,或者在运行grunt时设置环境变量(明确地)

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

最佳答案

使用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”,则会设置env-var,然后运行“another-task”

如果要通过命令行选项指定当前环境,可以使用grunt.option:
grunt.initConfig({
  env : {
    options : {
      //Shared Options Hash
    },
    dev : {
      NODE_ENV : grunt.option('environment') || 'development',
      DEST     : 'temp'
    }
  },

在此示例中,如果您使用--environment=production设置调用grunt任务,那么将设​​置开发,否则将设置开发

关于node.js - Grunt中的NodeJS环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15554215/

10-16 17:58