2014-12-01 16 views
0

我想在我的gruntfile.js中使用env设置一些选项,以便我可以使用NODE_ENV基于if语句在我的server.js文件。为什么我不能在我的server.js文件中访问值NODE_ENV当我设置它与grunt-env gruntfile.js

我已经安装使用 “咕噜NPM-ENV --save-dev的” 咕噜-env和包含在gruntfile.js ENV部分:

grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    env: { 
     dev: { 
      NODE_ENV : 'development' 
     }, 
     prod: { 
      NODE_ENV : 'production' 
     } 
    }, 
    .... 

我也注册了用于开发和生产任务的文件

grunt.registerTask('dev', ['csslint', 'jshint', 'nodeunit', 'sass', 'concurrent', 'nodemon']); 
    grunt.registerTask('prod', ['cssmin', 'uglify', 'nodemon']); 

当我运行“咕噜开发”或“咕噜督促”服务器启动而不会出现错误,并开始正确的任务,但我仍然无法访问我的server.js文件中NODE_ENV形式结束。我尝试添加以下内容:

console.log(process.env.NODE_ENV); 

这将返回为“未定义”不管我用“咕噜开发”或“咕噜刺”

我要去哪里错了?

回答

1

在所有订单任务之前添加您的grunt-env任务;

grunt.registerTask('dev', ['env:dev', 'csslint', 'jshint', 'nodeunit', 'sass', 'concurrent', 'nodemon']); 
grunt.registerTask('prod', ['env:prod', 'cssmin', 'uglify', 'nodemon']); 
+0

谢谢!,这是从我跟着的例子中失踪,但现在你指出它似乎很明显。 :) – Finglish 2014-12-01 23:48:04

+0

我很高兴它有帮助! – renatoargh 2014-12-01 23:57:57

相关问题