代码之家  ›  专栏  ›  技术社区  ›  bevacqua

Grunt中的NodeJS环境变量

  •  30
  • bevacqua  · 技术社区  · 13 年前

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

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

    我如何才能在Grunt中实现同样的目标?

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

    部署时这不是问题,因为heroku已经负责设置我的env-var了。

    1 回复  |  直到 13 年前
        1
  •  53
  •   BigHeadCreations    10 年前

    使用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变量,然后运行“另一个任务”

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

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

    在这个例子中,如果你用 --environment=production 将设定生产,否则将设定开发