Я пытаюсь найти решение для своего сервера и его структуры. Я хочу сделать это отдельно.
app.post("/login", function(request, response) {
});
app.post("/register", function(request, response) {
});
app.get("/", function(request, response) {
});
в разные файлы. В моем случае все они стоят в файле под названием "server.js". Как я могу отделить их, чтобы работать над ними лучше?, и одновременно запускать все из них. Я искал эту ситуацию, и я нашел разные типы этого случая. Но я не мог получить четкого ответа.
Одна вещь, которую вы можете сделать, это включить "роутер" в ваши экспресс-функции.
Вот небольшой пример того, как я это делаю. (Бесстыдный плагин, не стесняйтесь просматривать исходный код игры для более полного подробного маршрутизатора здесь)
server.js
import login from "./routes/login";
app.use("/login", login);
login.js
const router = express.Router();
router.route("/") //this points to the root route of /login
.post((req, res) => {
//post function here
})
.get((req, res) => {
//get function here
})
Это позволяет выполнять очень специфическую функциональную маршрутизацию, а также разделять маршрутизаторы на разные файлы (я храню их в маршрутах)
app_root
----routes
--------login.js
----server.js
Это базовая структура того, как она будет выглядеть в вашей файловой архитектуре. Очень чистый, очень простой в модуляции.
server.js
, который по сути является маршрутизацией, задокументированной в одном файле, но вы также можете разбить функции / бизнес-логику на логические части.
Что касается вышеприведенного комментария Sterling Archer, мы используем аналогичную иерархию папок для нашей разработки
server.js (node http server)
app/
| app.js (express app)
| api/
| router.js (express master router to handler "/"
| exampleApi/
| exampleRouter.js (routes for example api)
PS: Мы используем ниже генератор yoeman для создания выше структуры папок для нас, генератора yaoeman, npmjs link, yo-dodan git repo (чтобы получить представление о структуре файла)