Почему многоуровневая маршрутизация в экспрессе не работает должным образом? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь сделать простую маршрутизацию в node.js с помощью Express. Короче говоря:

app.use('/valut-servis', valut_servis);         //This works    
app.use('/valut/servis', valut_servis);         //This doesn't    

Я ожидал, что они будут действовать так же. Они приводят к одному и тому же сценарию, но в этом сценарии, когда я использую res.sendFile (__dirname + '/whwhat.html'); для обслуживания html-файла, все относительные пути в этом файле перестают работать потому что он создал себе новый корень с именем "valut" внутри своей оригинальной корневой папки.

Я делаю что-то нелепо неправильно, пожалуйста, помогите.

1 Ответ

0 голосов
/ 09 января 2019

Это работает, как и ожидалось, но я вижу, как это неудобно здесь. Ваши относительные ссылки действительно не работают, когда вы добавляете еще один / в URL базового файла.

Вы можете

  1. Используйте тег <base href="/valut-servis">, чтобы ваши пути разрешались как абсолютные пути
  2. изменить все пути в вашем файле на абсолютные (на самом деле похоже на 1)
  3. если это просто активы, пусть эти активы также обслуживаются из подкаталога (что-то вроде app.use('/valut', express.static('/your_assets_folder')))

Дайте мне знать, если какой-то из них заставит вас работать, и какой из них вы выбрали:)

...