记录一下做项目中遇到的问题以及解决的流程、改正的方法

记录一下做项目中遇到的问题以及解决的流程、改正的方法,第1张

今天的第一件事就是解决昨天的遗留问题,昨天脑子不太清醒。


先根据错误信息一步一步慢慢改

昨天的一个mysql模块的使用有bug,今天来改正
  1. export default pool.promise()
    ^

    TypeError: pool.promise is not a function

    首先是报了这个错误。


    我是按照视频里面写的,我看他写导出pool.promise()并没有问题。


    于是我打印了pool,发现信息如下

    Pool {
      _events: [Object: null prototype] {},
      _eventsCount: 0,
      _maxListeners: undefined,
      config: PoolConfig {
        acquireTimeout: 10000,
        connectionConfig: ConnectionConfig {
          host: '127.0.0.1',
          port: 3306,
          localAddress: undefined,
          socketPath: undefined,
          user: 'root',
          password: 'admin123',
          database: 'my_db_001',
          connectTimeout: 10000,
          insecureAuth: false,
          supportBigNumbers: false,
          bigNumberStrings: false,
          dateStrings: false,
          debug: undefined,
          trace: true,
          stringifyObjects: false,
          timezone: 'local',
          flags: '',
          queryFormat: undefined,
          pool: [Circular *1],
          ssl: false,
          localInfile: true,
          multipleStatements: false,
          typeCast: true,
          maxPacketSize: 0,
          charsetNumber: 33,
          clientFlags: 455631
        },
        waitForConnections: true,
        connectionLimit: 10,
      },
      _acquiringConnections: [],
      _allConnections: [],
      _freeConnections: [],
      _connectionQueue: [],
    
    [Symbol(kCapture)]: false
    
    }
    

    connectionConfig里面是数据库的关键信息,于是我又写

  2. export default pool.ConnectionConfig()
    ^

    TypeError: pool.ConnectionConfig is not a function

    还是这样的报错信息,于是最后我决定不搞花里胡哨,按照以前学的来,就直接导出pool,于是这个问题解决了,出现了新错误

  3. import {getAllUser} from ‘…/controller/user_ctrl.js’
    ^^^^^^^^^^
    SyntaxError: The requested module ‘…/controller/user_ctrl.js’ does not provide an export named ‘getAllUser’

    看到这个问题,我去看了我的导出 用了exports default ,然而我导入时候用import {getAllUser} from ‘’,这是个很低级的错误呀,exports default导出的应该直接接收,不要套花括号

  4. file:///E:/VSCode%20Work/mysql_vue/router/user_router.js:5
    ^

    ReferenceError: router is not defined

    这同样是个低级错误,定义名字和使用时候的名字不一样,修改完成

  5. ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘users’ at line 1

    现在报的是这样的错误信息了,说我有个数据库的语法没写对,希望我能去改正。


    我就去找了。


    发现在查询信息 时候少写了一个from,导致sqlstr就是一个字符串,修改完成后,程序正常运行了。


    const sqlstr = ‘select * from users’

登陆验证
  1. Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

    这个报错可能是因为响应了两次,可以检查是不是两个地方都进行了res.send()

  2. Cannot mix different versions of joi schemas

    它提示了是个版本问题,所以用 npm i joi 命令重新下载,并且这个在引入这个包的时候,要用

    const joi = require(‘joi’)

  3. 使用postman进行登陆验证,一直给我提示 密码错误。


    于是我找到写的关于这个提示信息的地方:

    ​ //判断密码是否正确

    const compareResult**=**bcrypt.compareSync(userinfo.password,results[0].password)

    ​ if(**!**compareResult) return res.cc(‘密码错误’)

    我发现并没有,那么错误是出在哪了呢,我又找回到得到userinfo.password的地方

    userinfo.password = bcrypt.hashSync(userinfo.username,10)

    我为什么会把用户密码写成把用户名加密的值?应该是敲.的时候tab直接给提示出来了,然而我并没有认真看,所以导致了这样,修改过后果然好了。


    说明我们要细心点,起码不要因为敲错了而出bug

    userinfo.password = bcrypt.hashSync(userinfo.username,10)

  4. app.use(expressJWT({secret:config.jwtSecretKey})).unless({path:[/^/api/]})
    ^

    ReferenceError: Cannot access ‘config’ before initialization

    这个问题很明显,是因为我需要的config在这时候没有,所以说要把引入他的文件放到这个语句之前

  5. app.use(expressJWT({secret:config.jwtSecretKey}).unless({path:[/^/api//]}))

         ^
    

    TypeError: Cannot read property ‘jwtSecretKey’ of undefined

    只要报Cannot read property 'xxx of undefined,那么我们就去看它前面的对象,所以说我去看config,引入的时候使用解构赋值引的,但是现在需要取对象,那么我们就直接把他引进来就好了

    const config = require(“./config”)
    今天主要就是做项目,出bug,改bug的过程,感觉改bug还是很有用的,提升解决问题的能力并且反思容易出错的地方,然后以后最好能注意到犯过的错,尽量减少犯错。



    最后,希望我犯过的错可以为你改bug提供到一点帮助~

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/584466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存