【发布时间】:2019-12-29 19:19:32
【问题描述】:
我有一些用 server.js 编写的 API。我想制作 MVC 结构,就像我想在路由目录中拥有所有路由,在控制器中拥有 API。我如何用 koa 和 nodejs 制作这个结构。我是nodejs的新手。我尝试做某事,但它不起作用。如何将所有这些与 server.js 链接起来。这样当我启动服务器 API 时应该可以工作。希望你能理解我的问题。我尝试了很多东西,但都不适合我。
控制器:apiController.js
const Router = require('koa-router');
const router = new Router();
const Koa = require('koa');
const app = new Koa();
var bodyParser = require('koa-bodyparser');
app.use(bodyParser({
formidable: {uploadDir: './uploads'},
multipart: true,
urlencoded: false
}));
router.get('/api/get_all_users', async (ctx) => {
const {rows} = await ctx.app.pool.query('SELECT * from users');
ctx.body = {
status: 200,
message: "Data Found",
data: rows,
};
});
app.use(router.routes()).use(router.allowedMethods());
路由:api.js
const Router = require('koa-router');
const router = new Router();
const apiController = require('../controllers/ApiController');
router.get("/api/get_all_users", apiController);
服务器.js
const Koa = require('koa');
const app = new Koa();
const {Pool} = require('pg');
app.pool = new Pool({
user: 'postgres',
host: 'localhost',
database: 'my_db',
password: 'my_pass',
port: 5432,
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
【问题讨论】:
标签: javascript node.js model-view-controller koa koa2