繁体   English   中英

当我用grunt-env设置gruntfile.js时,为什么不能在server.js文件中访问值NODE_ENV

[英]why can't I access value NODE_ENV in my server.js file when I have set it gruntfile.js with grunt-env

我试图在我的gruntfile.js中使用env设置一些选项,以便可以在server.js文件中使用基于NODE_ENV的if语句。

我已经使用“ npm grunt-env --save-dev”安装了grunt-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']);

当我运行“ grunt dev”或“ grunt prod”时,服务器启动时没有错误并启动了正确的任务,但是我仍然无法访问server.js文件中的NODE_ENV表单。 我尝试添加以下内容:

 console.log(process.env.NODE_ENV);

无论我使用的是“ grunt dev”还是“ grunt prod”,这都将返回“ undefined”

我要去哪里错了?

在所有订购任务之前添加grunt-env任务;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM