我正在将我的项目从单纯的node server.js转变为使用Grunt。
node server.js
我曾经直接从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任务,则将设置开发
--environment=production