Динамическая маршрутизация в Javascript - Node.js

Так что в PHP вы можете сделать динамическую маршрутизацию, как

class Route
{
  public function homePage ()
  {
    echo 'You are on the home page'
  }

  public function otherPage ()
  {
    echo 'You are on some other page'
  }
}

class Route2
{
  public function homePage ()
  {
    echo 'You are on the home page'
  }

  public function otherPage ()
  {
    echo 'You are on some other page'
  }
}
// when you get the url like www.domain/route/other-page, with some regex operation you get out as string 'route' and 'other-page' from the route transform it to 'Route' and 'ohterPage' and fill them into the $controller and action variables and you just call:
$controller->$action();
// and it will call Route->otherPage() which will serve up the requested template

когда вы получаете URL-адрес, такой как www.domain / route / other-page, с помощью некоторой операции регулярного выражения вы получаете в виде строки 'route' и 'other-page' из маршрута преобразование его в 'Route' и 'ohterPage' и заполняете их в переменные $controller и $action, и вы просто вызываете '$controller->$action();' и он вызовет Route->otherPage(), который будет обслуживать запрошенный шаблон

это изящное решение, потому что тогда, когда у вас есть, скажем, 40 различных действий, таких как обслуживание шаблонов и различные запросы на получение и публикацию, вы можете обработать его, добавив всего 5 маршрутов, но для этого вам нужно динамически ссылаться на объект и метод, как описано выше.... Есть ли способ достичь этого в JavaScript?

Спасибо

1 ответ

Используйте Express Js для этого:

var express = require('express')
var app = express()

// respond with "hello world" when a GET request is made to the homepage
app.get('/', function (req, res) {
  res.send('hello world')
})

См. https://expressjs.com/en/guide/routing.html

Другие вопросы по тегам