问题描述
所以我开始学习 Node JS,我正在使用 React、Node、Express 和 MysqL 开发一个完整的 Todo-App。
我在理解 commonjs 模块和 Express 路由时遇到问题。
app.js:
const express = require("express");
const cors = require("cors");
const MysqL = require("MysqL");
const userRoutes = require("./routes/userRoutes.js");
const app = express();
app.use(express.json());
app.use(cors());
//Database
const db = MysqL.createPool({
connectionLimit: 10,host: "localhost",user: "admin",password: "123456789",database: "todo_app",});
/* ROUTES */
app.use("/users",userRoutes);
app.get("/account",(req,res) => {
db.query("SELECT * FROM users",(err,result) => {
if (err) throw err;
console.log(result);
});
});
//Starting server
const PORT = 3001;
app.listen(PORT,() => console.log(`Server running in port ${PORT}`));
module.exports = db;
userRoutes.js:
const express = require("express");
const db = require("../app");
const router = express.Router();
module.exports = router;
console.log("This is DB: ",db);
router.get("/",res) => {
const sql = "SELECT * FROM users";
db.query(sql,result) => {
if (error) throw error;
console.log(result);
});
});
当我转到 localhost:3001/account 时,它会从数据库中记录所有用户,因此它可以工作。但是,当我转到 localhost:3001/users 时,我得到并出错:“TypeError: db.query is not a function”。
我该如何解决这个问题?我真的很想分开路由并使用路由,因为我也会有待办事项和待办事项列表的路由,而且代码会很庞大,未分开。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)