Как автоматически включить маршруты в ExpressJS - PullRequest
0 голосов
/ 07 марта 2020

Допустим, вы всегда хотели использовать определенные префиксы на маршрутах, например /before, и добавлять их после определенной строки в файле server.js.

Вот пример

const express = require('express');
const App = express(); 

App.get('/before') //so here the route is '/before'

App.push('/after') //This is a made up method, but something like this has to exist...

App.get('/before') //And this route would be '/after/before'

App.pop(); //Another made up method

App.get('/before') //and this would be just "/before"

1 Ответ

2 голосов
/ 07 марта 2020

Это не совсем проект .push() и .pop(), но он позволяет достичь sh той же цели группировки маршрутов по общему родительскому пути без необходимости указывать c общий родительский путь для каждого определение маршрута.

Express имеет концепцию отдельного маршрутизатора. Вы определяете группу маршрутов, которые хотят использовать общий родительский путь на маршрутизаторе. Затем вы регистрируете каждый конечный путь на маршрутизаторе, а затем регистрируете весь маршрутизатор на родительском пути.

Вот пример:

const express = require('express');
const app = express();

const routerA  = express.Router();

// define routes on the router
routerA.get("/somePath1", ...);
routerA.get("/somePath2", ...);
routerA.get("/somePath3", ...);

// hook the router into the server at a particular path
app.use("/parentPath", routerA);

app.listen(80);

Здесь регистрируются три маршрута:

/parentPath/somePath1    
/parentPath/somePath2    
/parentPath/somePath3    
...