У меня есть проект, который в настоящее время работает на express.js, но я хочу добавить angular в проект для обработки внешнего интерфейса, тем самым сделав его одностраничным приложением, веб-сайт в настоящее время перезагружает весь контент с сервера при нажатии на ссылку таким образом, переделывая то, что уже было сделано. Поэтому я надеялся сделать угловую загрузку всего веб-сайта, и сервер может предоставить только ту часть, которая необходима.
У меня есть css, js, изображения и т. д. в общей папке, а html (с использованием механизма шаблонов) находится внутри папки представлений.
В настоящее время все делается так, когда маршрут вызывается, данные, принадлежащие этой странице (например, информация, формы, изображения и т. д.), загружаются через маршрут в представление, тогда все будет загружено из папки представлений, но я смотрю на лучший способ отправки только необходимой информации, а не отправки всего содержимого сайта (вроде).
Все маршруты определены в node.js. angular может даже не знать, какие ссылки будут существовать, пока во время выполнения angular не получит ссылки из node.js во время выполнения.
Пожалуйста, как я могу этого добиться.
Примечание: angular — это просто существующая надстройка, а основная работа ведется над узлом.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Без какого-либо кода ответ будет довольно абстрактным, но вот основные шаги, которые вам нужно сделать:
app.use(express.static('public')) //images in here
app.use(express.static('dist')) //index.html in here
Чтобы это работало, вам нужно указать параметр --output-path во время сборки ng:
ng build --output-path ./dist
Также обратите внимание, что каждый угловой компонент имеет свою собственную таблицу стилей. Таким образом, вам придется либо переместить те стили .css, которые вы определили в таблице стилей каждого компонента, либо добавить их в файл angular.json в массиве стилей:
"styles": [
"styles.css",
],
2. Измените экспресс-приложение, чтобы оно обслуживало только файл index.html. Все остальное будет обрабатываться маршрутизатором API, который будет обслуживать только данные для углового приложения:
// Set our api routes
app.use('/api', api);
// Catch all other routes and return the index file
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'dist/index.html'));
});
Дайте мне знать, если вам нужны дополнительные разъяснения.
Я ценю ваши усилия, поскольку другого ответа нет, и мне пришлось бы его принять. Еще раз спасибо
Спасибо большое. Я попробовал это, но я не получил ожидаемого результата. это очень расстраивает. я все еще смотрю, как это сделать. Пожалуйста, у вас случайно нет идей по другому вопросу, который я разместил. stackoverflow.com/questions/55462205/…. любая помощь будет оценена.