nodejs创建文件时候发现的问题

菜鸟一枚,今天写代码的时候发现一个bug

先上代码

inapi.js

let express = require('express');
let router = express.Router();
const crypto = require('crypto');//引入加密模块

//sha256生成口令
function inapiToken(data) {
    return crypto.createHash('sha256','dht').update(data).digest('hex');
}

router.get('/inapi/*', function(req, res, next) {
    if(inapiToken(req.cookies.userName)===req.session.login){
        /*
        let _reqUrl=req.url.substring(1);
        let URL=_reqUrl.substring(6);
        console.log(URL);
        */
        //console.log(req.session.locals);
        next();
    }else{
        res.send('未登录');
    }
});

module.exports = router;

注意我这里是打算用内部接口的话都统一为/inapi/为开头。



这里我新建文件夹名称为external的时候,最后只要我的路由文件在external里面那么结果就不会走inapi.js文件

测试情况,只要的路由文件移出external目录下面那么又能够正常走inapi.js文件

所以这里记录下,文件夹名称不能创建为external

2018-06-14新增

最终发现实际上是inapi的文件路径层级太低了,把inapi的目录提高到和index.js同一级的时候,一切正常。

但是这里发出疑问,因为我新增的路由实际上目录比inapi.js还要深,但是其他文件没问题,并且我下午新建目录为workingcondition的时候也发生了和上午一样的情况。

这里不知道原因,但是解决方式就是把你的路由的层级设置最高,就没问题了。

也可能是我的自动路由注册的问题,遍历的时候先遍历上层,再遍历下层导致。具体原因没有详细测试,不明。





猜你喜欢

转载自blog.csdn.net/qq_32858649/article/details/80682690