Префикс Express Virtual Path не работает с приложением Angular 6 - PullRequest
0 голосов
/ 23 ноября 2018

Я размещаю свое приложение angular 6 с экспресс-статикой

app.use(express.static('/', __dirname +'/client/angular'));

Проблема возникла, когда я попытался добавить другую страницу на свой сервер в качестве целевой страницы.Поэтому я указал путь монтирования / app к своему угловому приложению.

app.use(express.static('/app', __dirname +'/client/angular'));

Это не работает!Когда я запускаю сервер, это получается

GET / app / 304 4,294 мс - -

GET /inline.bundle.js/ 404 1,065 мс - 15

GET /polyfills.bundle.js/ 404 0,581 мс - 15

GET /styles.bundle.js/ 404 2,195 мс - 15

GET /vendor.bundle.js/ 404 2,119 мс- 15

GET /main.bundle.js/ 404 1,830 мс - 15

GET /favicon.ico 404 0,474 мс - 15

Мне удалось решить проблемуразмещение новой веб-страницы в виртуальном пути '/ home' и сохранение моего углового приложения по умолчанию в корневом пути.

app.use('/home', express.static(__dirname +'/client/landing'));
app.use('/', express.static(__dirname +'/client/angular'));

Но это не те маршруты, которые мне нужны, кто-нибудь знает, как смонтироватьугловое приложение на экспресс-виртуальном пути?

1 Ответ

0 голосов
/ 03 декабря 2018

Немного покопавшись, я обнаружил, что мне нужно изменить файл index.html моего углового приложения в папке dist, сгенерированной после запуска ng build.Проблема заключалась в том, что базовый href был "/", поэтому, когда он нуждался в файлах js, он не находил их.Итак, все, что нам нужно сделать, это изменить его, используя тот же путь, который был установлен на сервере

  <base href="/app">
...