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任务,否则将会设置开发