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();
        }
    }
  • 相关阅读:
    Array总结
    js 添加收藏
    js 浮点数
    chrome 不支持 input file cursor:pointer
    nginx proxy_set_header设置、自定义header
    docker常用命令
    ssh登录问题解决
    android10 搜索不到ble设备的问题解决
    go语言接口型函数使用
    树莓派gpio驱动
  • 原文地址:https://www.cnblogs.com/coding4/p/5579711.html
Copyright © 2011-2022 走看看