Я определяю свои express конечные точки, используя app.get или app.post
Это, похоже, работает, но для каталога root добавляется конечный sla sh, когда возвращается представление html .
Представление root становится недоступным, если включить строгую маршрутизацию в приложении.
const express = require('express')
const app = express()
//app.enable('strict routing')
// Returns static files from the public subfolder.
// e.g. localhost:3000/dir/public/views/desktop.html
app.use('/dir', express.static('public'))
// This adds a trailing slash to localhost:3000/dir
app.get('/dir', (req, res) => require('./api/root')(req, res))
// This doesn't change and returns view on localhost:3000/dir/view
app.get('/dir/view', (req, res) => require('./api/root')(req, res))
// This returns JSON.
app.get('/dir/api/get', (req, res) => require('./api/get')(req, res))
app.listen(3000)
Я протестировал express .router для маршрута root, но это не так либо не работает.
const router = express.Router({ strict: true })
router.get('', (req, res) => require('./api/root')(req, res))
app.use('/dir', router)
Это добавляет завершающий sla sh и возвращает представление html без опции strict: true, либо завершается с завершающим sla * sh.