I was making one app with frontend react.js uses axios to api call and for backend i am using express and node with database mysql while making call to api url i am getting error for access denied error Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using password: NO) If this is not the case i will be getting axios network error Axios Network error i dont know which port to use if i use 3306 port it is already in use. Please take a look at code and suggest about optimization and a better way... thank you....
config.js 將保存連接資料庫的配置 配置.js
const config = { db: { host: "localhost", user: "new_user", password: "password", database: "db", }, }; module.exports = config;
db.js will create the connection db.js
const mysql = require("mysql"); const config = require("./config"); var con = mysql.createPool(config); module.exports = con;
這是快遞和應用程式伺服器應該創建的地方 索引.js
const express = require("express"); var mysql = require("mysql"); const cors = require("cors"); const app = express(); app.use(express()); app.use(cors()); const Tables路线 = require("./路线/Tables路线"); //路线 app.use("/", Tables路线); app.listen(8000, () => { console.log("Running on port :8000"); });從前端呼叫的 api 路由 路線
const express = require("express"); const { postTableDes, alterTable, showTables, } = require("../控制器s/Tables"); const tablerouter = express.Router(); tablerouter.get("/", showTables); tablerouter.post("/", postTableDes); module.exports= tablerouter;在哪裡顯示表行為 控制器
const con = require("../Config/db"); //get tables const showTables = async (req, res) => { //try { var sql = `show tables`; const data = await con.query(sql, (err, res)=>{ if(err){ console.log(err); res.status(404).json({ error: "No show table" }); return; } console.log(res); res.status(202).json(data); }); module.exports = showTables;
嘗試將
config.js
更改為(createPool
呼叫不需要具有db
屬性的物件):