NodeJS, экспресс - маршрутизация - PullRequest
0 голосов
/ 06 декабря 2018

Я настроил небольшой NodeJS API с помощью 'expressjs'.В моем коде у меня есть несколько похожих блоков кода, которые выглядят так:

app.get('/api/my/path', (req, res) => {
  doSomethingUseful();
});

Все эти запросы делают что-то другое, поэтому вызываемая функция тоже всегда отличается.

Я спрашиваю себя, является ли это хорошей практикой для написания кода в NodeJS или нет.Если бы есть лучший / более чистый способ написания всех этих путей, я был бы признателен, если бы вы могли сказать мне, как или, по крайней мере, дать мне место для его поиска.

РЕДАКТИРОВАТЬ 1: Для ясности: я спрашиваю,Было бы неплохо написать «app.get (...)» в один файл с исходным кодом или есть лучший способ?

1 Ответ

0 голосов
/ 06 декабря 2018

Да, есть лучший способ, чем записать все маршруты в один файл.Например, допустим, у вас есть маршруты для пользователей и вопросы.Для пользователей вы хотите получить / установить / поставить / удалить для профиля и аналогично для вопросов. Таким образом, вы создаете следующую структуру папок: /api/users и /api/questions В /api/users,

const express=require('express')
 const router=express.Router()

 //this handles route: /users
 router.get('/',(req,res)=>{})

 //this handles route: /users/profile
 router.get('/profile',(req,res){})

 //this is to retrieve profile of specific user by user id :/users/profile/:userID
 router.get('/profile/:userId',(req,res))


 router.post('/profile',(req,res))
 .
 .

Затемв вашем index.js или в точке входа вашего проекта

const users=require('./api/users')
const questions=require('./api/questions')
app=require('express')

app.use('/users',users)
app.use('/questions',questions)

Таким образом, по сути, вы говорите для любого /users маршрута, обратитесь к файлу users.js, для любых /questions маршрутов,см. файл questions.js и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...