Цель:
Я хочу развернуть мое приложение angular и сервер express на моем общем облачном сервере, чтобы использовать SSR вместо фактического CSR.
Обычный способ - просто запустить команду ng build --prod
и скопировать / past из dist
всех выходных статических файлов в виде пакета в папку public
моего хост-сервера. Из-за особенностей приложения в .htacess
требуется быстрая настройка, чтобы можно было обновить sh страницу, но не так сложно.
Моя структура проекта хостинга:
home
/:clusterAliasName
...
/prod
.htacess
/api
.htacess
index.php
...
/www
index.html
favicon.ico
...
(Примечание: папка /api
содержит часть frontapi, написанную с помощью PHP / SQL / PDO)
Таким образом, мое приложение CSR angular работает нормально.
Дело в том, что для SSR в уравнении есть понятие Универсальный веб-сервер (express server), и с этого момента я полностью потерян. На самом деле, я не понимаю, как должен работать этот прекрасный мир.
Итак, основываясь на различных руководствах, я успешно перенес свое приложение CSR Angular в приложение SSR, локально протестировав его с помощью следующего команда ng run appName:node dist/server/main.js
Нет, прежде чем развернуть его, я должен собрать приложение. Что касается предыдущего метода, я запускаю ng build --prod && ng run appName:server:production
, который выводит в этом случае две папки в dist
:
dist/browser
, включая файлы приложения статики dist/server
веб-сервер express, включающий все необходимые настройки для обслуживания ресурсов c
Кроме того, у меня есть хостинг с общим сервером Cloud Web , который позволяет мне выбирать для механизм выполнения (php, узел и т. д. c ...).
Что мне теперь делать?
Я не могу логично просто скопировать / пропустить эту папку и позволить волею c случиться (чего не будет). Я имею в виду, что сервер express не должен быть точкой входа моего веб-сайта с целым числом index.html
?
Как я могу запустить сервер с помощью команды узла с сервера? (когда я подключаюсь в s sh, я не могу использовать команды узла).
Как вы можете видеть, это очень размыто для меня , и любая изюминка приветствуется.
Оставайся дома, будь в безопасности.
Спасибо тебе!