Папка Express stati c загружается неправильно - PullRequest
0 голосов
/ 31 января 2020

У меня проблемы с приложением Node, которое я создаю.

Структура папки приложения:

  • контроллеры // контроллеры
  • помощники // помощники
  • config // некоторые файлы конфигурации
  • publi c // сохраняет встроенное angular приложение
  • ...

App URL 1: www.domain.com App URL 2: www.another.com/myapps/app1

Так вот, как я установил папку stati c для загрузки ресурсов:

app.use(express.static(__dirname + '/public'));

И вот как я будет иметь доступ к файлам в папке stati c:

URL1: www.domain.com/assets/main.js
URL2: www.another.com/myapps/app1/assets/main.js

Теперь проблема в том, что, если я разверну приложение на URL1, все будет работать отлично. Но развертывание приложения на URL2 вызывает у меня некоторые проблемы.

Доступ к файлам stati c в приложении невозможен по URL2. Я получаю 404 (Cannot GET ...).

www.another.com/myapps/app1/assets/main.js // returns 404
www.domain.com/assets/main.js // returns the JavaScript file.

Есть несколько приложений, работающих на URL2, поэтому я использовал контексты для разделения приложений. Мои первоначальные мысли заключаются в том, что из-за дополнительных контекстов для URL-адреса URL2 express не может правильно установить папку stati c.

Возможно, это связано с тем, что папка stati c не используется правильно установлен?

1 Ответ

0 голосов
/ 31 января 2020

express.static получает данные откуда-то и применяет эти данные к root вашего домена. На самом деле вы можете получить ваши файлы в другой папке, добавив некоторую структуру. В вашем случае установите app.use(express.static(__dirname + '/public')); и поместите assets в app1 , а затем в myapps папки. Все это должно быть внутри publi c папка

...