zoukankan      html  css  js  c++  java
  • node的开发者环境设置丢失

    1.我看到的最简单的一种:evn 默认的值是  development

    var app = express();
    if (app.get('env') === 'development') {
        require('./conf');
        global.Mailer = {
            error: function (msg) {
                console.log(msg);
            }
        };
        console.log('load dev config');
    } else {
        require('./conf-online');
        console.log('load online config');
        var mailer = require('./utils/Mailer');
        mailer.error('服务已经启动	host:' + require('os').hostname() + '	' + 'pid:' + process.pid + '	' + new Date());
    }

    2.我们问这个env怎么设置啊?

    app.set('env', 'production');

    3.这个博客看一眼然后我们分析:https://segmentfault.com/q/1010000002940044

    4.问为什么一个地方设置了poduction然后在另一个地方这个值又恢复默认的development

    两个解决办法:

    //app.js
    var express = require('express');
    var app = express();
    app.set('env', 'production');
    console.log('app.js', app.get('env'));//production
    
    var routes = require('./routes/index');
    app.use('/', routes);
    
    app.listen(8080, function(){
        console.log('start ..');
    })
    //./routes/index.js
    var express = require('express');
    var router = express.Router();
    
    router.get('/', function(req, res) {
        console.log(req.app.get('env'));//development
    
        res.send(req.app.get('env'));
    });
    
    module.exports = router;

    第二种方法:

    ****app.js
    var express = require('express');
    var app = express();
    app.set('env', 'production');
    console.log('app.js', app.get('env'));//production
    
    var routes = require('./routes/index')(app);//传递 app 过去
    app.use('/', routes);
    
    app.listen(8080, function(){
        console.log('start ..');
    })
    
    
    ************./routes/index.js
    module.exports = function(app){
        var env = app.get('env');//从参数中获取到app,然后使用get方法
        console.log('route', env);
    
        return function(req, res, next){//返回一个function,以便满足 `app.js` 中 `app.use('/', routes);` 这个的用法.
            res.send(env);
            next();
        }
    }
  • 相关阅读:
    VSCode 代码格式化 快捷键
    mac电脑如何更换硬盘
    await和$nextTick的使用
    Luckysheet 在线电子表格
    FreeFileSync 开源文件夹同步备份软件工具
    一个好评如潮的UI框架,Quasar Framework
    饿了么是阿里巴巴旗下的么?
    JSON Web Token 入门教程
    “怪胎”便利蜂
    【源码】Flink StreamGraph 生成过程
  • 原文地址:https://www.cnblogs.com/coding4/p/5579711.html
Copyright © 2011-2022 走看看