Express搭建需要记录的

Express下大概无难点,但是有几个小点需要记一下,算是技巧:

1. 结局跨域等的问题,需要在主文件一进来做如下策略,网络上很容易找到,这里就不贴具体出处了:

    app.all('*', function (req, res, next) {
        res.header("Access-Control-Allow-Origin", "http://localhost:4200"); // 允许所有就写*
        res.header('Access-Control-Allow-Credentials',true); // 这句解决跨域引起session丢失,客户端也要做策略
        res.header('Access-Control-Allow-Methods', 'GET'); // 允许的请求方法
        res.header('Access-Control-Allow-Methods', 'POST');
        res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type"); // 允许的头字段
        next();
    });

2. 路由分级策略

**在app.js中**

    require('./routes/routemgr')(app);

**在routemgr.js中**

    var express = require('express');
    var router = express.Router();
    module.exports = function(app){
        app.get('/', function(req, res, next){
            res.json("root");
        });
        app.use('/login', require('./login'));
        app.use('/others', require('./others'));
    };

**然后在每个相应的文件中**

    var express = require('express');
    var router = express.Router();

    router.get('/', function (req, res, next) {
        res.json("login root");
    });

3. 静态配置文件需要这么写

module.exports = {
    mysql: {
        host: '127.0.0.1',
        port: 3306,
        user: 'root',
        password: 'root',
        database: 'db_test',
        charset: 'utf8'
    },
    session: function(MongoStore){
        return {
            resave:false,//添加这行,重新保存:强制会话保存即使是未修改的;
            saveUninitialized: true,//添加这行 ,强制“未初始化的”会话保存到存储
            key: "session~",//cookie name
            cookie: {
                path: '/',
                httpOnly: true,
                secure: false, // TODO: Set to true when HTTPS was used.
                maxAge: 1000 * 60 * 60 * 24 * 30

            },
            secret: "qwerasdf",
            store: new MongoStore({
                db: "db_session"
            })
        }
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容