node运行nom run dev提示数据库连接失败异常

https://gitee.com/ecitlm/splider

项目地址如上,拉取到本地,但是在npm run dev 这一步报错,提示数据库连接失败:

img

错误代码如下:

[nodemon] 2.0.19
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node src/app.js`
false
Web server started at port 3001!
Unable to connect to the database: AccessDeniedError [SequelizeAccessDeniedError]: Access denied for user 'root'@'localhost' (using password: NO)
    at ConnectionManager.connect (E:\vue_test\node_spliderApi\splider\node_modules\_sequelize@6.21.4@sequelize\lib\dialects\mysql\connection-manager.js:94:17)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async ConnectionManager._connect (E:\vue_test\node_spliderApi\splider\node_modules\_sequelize@6.21.4@sequelize\lib\dialects\abstract\connection-manager.js:220:24)
    at async E:\vue_test\node_spliderApi\splider\node_modules\_sequelize@6.21.4@sequelize\lib\dialects\abstract\connection-manager.js:174:32
    at async ConnectionManager.getConnection (E:\vue_test\node_spliderApi\splider\node_modules\_sequelize@6.21.4@sequelize\lib\dialects\abstract\connection-manager.js:197:7)
    at async E:\vue_test\node_spliderApi\splider\node_modules\_sequelize@6.21.4@sequelize\lib\sequelize.js:301:26
    at async Sequelize.authenticate (E:\vue_test\node_spliderApi\splider\node_modules\_sequelize@6.21.4@sequelize\lib\sequelize.js:453:5) {
  parent: Error: Access denied for user 'root'@'localhost' (using password: NO)
      at Packet.asError (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\packets\packet.js:728:17)
      at ClientHandshake.execute (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\commands\command.js:29:26)
      at Connection.handlePacket (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\connection.js:456:32)
      at PacketParser.onPacket (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\connection.js:85:12)
      at PacketParser.executeStart (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\packet_parser.js:75:16)
      at Socket. (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\connection.js:92:25)
      at Socket.emit (node:events:513:28)
      at addChunk (node:internal/streams/readable:315:12)
      at readableAddChunk (node:internal/streams/readable:289:9)
      at Socket.Readable.push (node:internal/streams/readable:228:10) {
    code: 'ER_ACCESS_DENIED_ERROR',
    errno: 1045,
    sqlState: '28000',
    sqlMessage: "Access denied for user 'root'@'localhost' (using password: NO)",
    sql: undefined
  },
  original: Error: Access denied for user 'root'@'localhost' (using password: NO)
      at Packet.asError (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\packets\packet.js:728:17)
      at ClientHandshake.execute (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\commands\command.js:29:26)
      at Connection.handlePacket (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\connection.js:456:32)
      at PacketParser.onPacket (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\connection.js:85:12)
      at PacketParser.executeStart (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\packet_parser.js:75:16)
      at Socket. (E:\vue_test\node_spliderApi\splider\node_modules\_mysql2@2.3.3@mysql2\lib\connection.js:92:25)
      at Socket.emit (node:events:513:28)
      at addChunk (node:internal/streams/readable:315:12)
      at readableAddChunk (node:internal/streams/readable:289:9)
      at Socket.Readable.push (node:internal/streams/readable:228:10) {
    code: 'ER_ACCESS_DENIED_ERROR',
    errno: 1045,
    sqlState: '28000',
    sqlMessage: "Access denied for user 'root'@'localhost' (using password: NO)",
    sql: undefined
  }
}

本地navicat新建数据库,增删改查都没啥问题;才开始接触前端这块,还请各位指教

那是你连接的数据库的账号密码不对,
修改 .env.development 文件下 #database部分的配置
把数据库地址,数据库名,账号,密码等改成自己的,就可以了

  1. 你本地有数据库吗
  2. 把项目拉取下来后有把数据库信息改成和本地一直吗

你需要去修改代码文件.env.development末尾的几行,配置一下数据库的类型,用户名和密码这些。

npm run dev对应配置文件是.env.developement
npm run prd对应配置文件是.env.production
把里面对应内容修改成自己的配置

修改代码文件.env.development末尾的几行