如何解决Node JS MySQL 模型导出
所以我开始学习 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 举报,一经查实,本站将立刻删除。