Доступ узлов к именам маршрутов без префикса (например, «/home») из маршрутов с префиксом (например, «/ something/ about») вызывает ошибку

#javascript #node.js

#javascript #node.js

Вопрос:

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

Я знаю, это звучит запутанно, но взгляните на этот фрагмент кода:

Первый маршрут

 app.get('/something', () => {
...route code here
})
 

Другой маршрут, доступный из маршрута «/ something», который создается на нем

 app.get('/something/about', () => {
...route code here
})
 

Маршрут, который не включает «/ something»

 app.get('/home', () => {
...route code here
})
 

Итак, проблема в том, что когда я перехожу к маршрутам с префиксом /something и нажимаю на привязку, чтобы перейти /home , например, к маршруту, он добавляется /something/ к нему автоматически и, следовательно, выдает ошибки, поскольку маршрута для нет /something/home , есть только маршрут для /home .

Итак, мне нужно что-то, что просматривает точный путь в теге привязки, что-то вроде exact из VueJS, как вы делаете это для NodeJS без добавления «префикса»?

 <a href="home" exact >Home</a>
 

Пожалуйста, помогите.

Комментарии:

1. Проблема не в коде вашего узла, а в URL-адресе ссылки. href="/about" Вместо этого вам нужно. Начальная косая черта заставляет браузер добавлять относительный путь к имени домена вместо текущего местоположения.

2. Не могу поверить, что я это упустил. Какая хитрая ошибка! Спасибо, Крис, это исправлено.