如果您使用 express cli 生成器 (https://expressjs.com/en/starter/generator.html) 生成项目,您将在那里看到默认情况下 express 如何将 api 逻辑与 app.js(= 您的 server.js 文件)分开。
您必须在 app.js 中声明控制器的特定逻辑存储在哪里
var users = require('./routes/users');
然后该控制器应该使用哪个路由。
app.use('/users', users);
然后你可以在那里创建一个名为 users.js 的文件并将你的逻辑放在那里 (users.js)
var express = require('express');
var router = express.Router();
/* this is the route "/users/" as "/users" is defined in app.js to use that controller and / is defined here */
router.get('/', function(req, res, next) {
res.send('respond with a resource');
});
module.exports = router;
接下来,如果您想将您的数据库内容存储在一个额外的文件中,您可以创建一个模型文件夹来声明您的架构(如果您使用 mongoose):
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var schema = new Schema({
firstName: {type: String, required: true},
lastName: {type: String, required: true},
email: {type: String, required: true, unique: true},
});
module.exports = mongoose.model('User', schema);
然后您可以将其导入到您的用户路由文件中
var User = require('../models/user');