Я решил ту же проблему, но мне пришлось написать больше кода.Я создал server.js
файл, который использует экспресс для регистрации маршрутов.Он предоставляет функцию register
, которая может использоваться другими модулями для регистрации своих собственных маршрутов.Он также предоставляет функцию startServer
для начала прослушивания порта
server.js
const express = require('express');
const app = express();
const register = (path,method,callback) => methodCalled(path, method, callback)
const methodCalled = (path, method, cb) => {
switch (method) {
case 'get':
app.get(path, (req, res) => cb(req, res))
break;
...
...
default:
console.log("there has been an error");
}
}
const startServer = (port) => app.listen(port, () => {console.log(`successfully started at ${port}`)})
module.exports = {
register,
startServer
}
. В другом модуле используйте этот файл для создания маршрута.
help.js
const app = require('../server');
const registerHelp = () => {
app.register('/help','get',(req, res) => {
res.send("This is the help section")
}),
app.register('/help','post',(req, res) => {
res.send("This is the help section")
})}
module.exports = {
registerHelp
}
В основном файлеЗагрузи оба.
app.js
require('./server').startServer(7000)
require('./web/help').registerHelp()