Когда запрос попадает на внутренний сервер (/dist/server.js
), сервер будет отображать HTML-страницу с использованием пакета сервера (dist/server/main.js
).Страница будет содержать сгенерированный HTML и встроенный CSS для быстрого отображения в браузере.После этого браузер также загрузит клиентский пакет (dist/browser/*
) и выполнит его.
Универсальный сервер не должен быть выставлен напрямую;Вы можете использовать nginx для пересылки запросов.Вот базовый пример конфигурации
server {
listen 80;
#...
root /project/dist/browser;
location / {
index index.html;
#Tries static files, otherwise transfers the request to the nodejs server
try_files $uri @universal;
}
location @universal {
#port defined in your server.js
proxy_pass http://localhost:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
Чтобы запустить сервер nodeJS в рабочем режиме, рекомендуется использовать pm2, как указано Луи Р. Если вы просто хотите проверить принцип, просто запустите node dist/server.js