nodejs案例coderhub在实现过程中的error

最近做了一个类似于论坛的项目,主要就是nodejs和mysql的使用。记录一下项目中遇到的问题和思路,这篇文章专门讲遇到的error、错误以及解决措施

  1. SyntaxError: await is only valid in async function

    场景是这样的:(具体逻辑就不写了,太多了写出来很乱,反而找不到重点)

    const verifyUser=(*ctx*,*next*)*=>*{
      //拿到用户名和密码
      //判断用户名和密码不为空
      //判断注册的用户名是否被注册过
      await next()
    }
    
    const handlePassword=async(ctx,next)=>{
      const  {password} = ctx.request.body
      ctx.request.body.password = md5password(password)
      await next()
    }
    //调用顺序是这样的
    userRouter.post('/',verifyUser,handlePassword,create)
    

    解决:因为next()表示进行下一个中间件的处理,所以我一直在找下面的逻辑,没有看它本身,把verifyUser加上了个async修饰就好了。const verifyUser=async(*ctx*,*next*)*=>*{}

  2. Error: Cannot find module 'auth_router.js'
    Require stack:

    • E:\VSCode Work\coderhub\src\router\index.js
    • E:\VSCode Work\coderhub\src\app\index.js
    • E:\VSCode Work\coderhub\src\index.js

    看这里报错,他说找不到auth_router.js这个模块。但是我自己知道没问题,那就说明问题出在找的过程中了,然后看了看,改成相对路径require(./${*file*})。前面忘记写./了

    const useRoutes = (*app*)*=>*{
      fs.readdirSync(__dirname).forEach(*file**=>*{
    ​    if(*file* === 'index.js') return ;
    ​    *const* router = require(`./${*file*}`)
    ​    *app*.use(router.routes())
    ​    *app*.use(router.allowedMethods())
      })
    }
    
  3. server at http://127.0.0.1:8000
    E:\VSCode Work\coderhub\src\app\databse.js:14
    conn.connect(err=>{
    ^

    TypeError: Cannot read property 'connect' of

你可能感兴趣的:(项目中error总结,node.js,前端)