Как добавить рендеринг сервера в проекте Angular Universal
Помогите мне, пожалуйста, понять, как использовать рендеринг сервера в Angular Universal.
Что я сделал. Я посетил официальный сайт Angular Universal. Настройка Node.js. Скачал рекомендованный проект Angular 2 Webpack Starter. Я работаю на Mac, поэтому используйте "> sudo npm install" для установки node_modules. Добавьте server.js в соответствии с рекомендациями. Запустите "> node server.js" - однако это не работает.
Если я запускаю "> npm start", сервер запускается на localhost:3000 - но, похоже, сервер не рендерится. Если я смотрю на HTML-страницу, то есть только файл index.html от Angular.
Что я должен сделать, чтобы добавить возможности рендеринга сервера в проект?
Большое спасибо.
3 ответа
Между тем, вы можете взглянуть на этот пример приложения (Angular 4.0.0, Universal support, Webpack и немного больше) https://github.com/ng-seed/universal
Определенно даст вам более или менее представление о том, как его запустить.
Начиная с Angular 7 вы можете запустить эту команду CLI
ng add @nguniversal/express-engine --clientProject yourprojectname
эта команда выполняет всю работу и вносит все файлы и изменения файлов, необходимые для выполнения Angular Universal.
затем создайте приложение,
npm run build:ssr
затем запустите сервер с этой командой (порт по умолчанию 4000)
npm run serve:ssr
И теперь ваш проект Angular 7 теперь использует Angular Universal
Что касается Angular 6, вы можете использовать это руководство, чтобы сделать сайт в Universal
https://github.com/angular/angular-cli/wiki/stories-universal-rendering
Связанная вики - это, по сути, написание всего вручную, по сравнению с выполнением команд, указанных выше.
Или, как уже упоминалось выше, Кирилл, вы также можете просто загрузить стартовый проект.
Простой способ - клонировать исходный код по ссылке ниже и прочитать документацию о том, как запустить проект https://github.com/angular/universal
Я нашел решение. Я скачал хороший начальный проект с http://github.com/angular/universal-starter с поддержкой рендеринга сервера.