我正在将我的项目从简单node server.js
转移到使用Grunt。
我曾经直接从webstorm运行我的应用程序,并且会为我设置环境变量。
我如何在Grunt中实现同样的目标?
我需要从webstorm(windows)运行grunt,或者在运行grunt(显式)时设置env变量
部署时这不是问题,因为heroku已经负责设置我的env变种。
答案 0 :(得分:49)
使用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-vars,然后运行'another-task'
如果要通过命令行选项指定当前环境,可以使用grunt.option:
grunt.initConfig({
env : {
options : {
//Shared Options Hash
},
dev : {
NODE_ENV : grunt.option('environment') || 'development',
DEST : 'temp'
}
},
在此示例中,如果您使用--environment=production
调用您的grunt任务,将设置生产,否则将设置开发