[英]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.