Структура приложения и сервера Angular 6 - PullRequest
0 голосов
/ 18 мая 2018

Какова правильная структура проекта при создании приложения Angular 6 и сервера API с общими определениями типов?

Пример:

На клиенте:

this.httpService.get<Hero[]>(apiUrl + '/heroes')

На сервере:

app.get('/heroes', async (req, res) => {
  const heroes: Hero[] = await db.Heroes.findAll<Hero>()
  res.status(200).send(heroes)
}

Мне нужно разделить определение Hero между проектами.

  • Собрать ли мой сервер в подкаталог углового приложения?
  • Должен ли я сначала создать свое серверное приложение, а затем каким-либо образом ссылаться на его исходный код из приложения Angular?
  • Создаю ли я третий проект Models, напишу там все определения и каким-то образом буду ссылаться на них?

1 Ответ

0 голосов
/ 18 мая 2018

Вы должны иметь следующую структуру:

enter image description here

, где web является внешним интерфейсом, а сервисы будут вашими сервисами node / go.

Do I build my server in a sub-directory of the angular app?

Нет, вы можете разделить оба.

Do I build my server app first, then reference its source code somehow from the Angular app?

Да, это лучше, так что вам не нужно беспокоиться о модели, когда вы начинаете с вашего углового приложения.

Do I build a third Models project, write all the definitions there, and somehow reference them?

Не обязательно.Вы можете иметь свои модели в самом проекте вашего узла.

I need to share the Hero definition between projects. Я бы настоятельно рекомендовал этого не делать, потому что иногда вы не привязываете все свойства внешнего интерфейса.Создайте отдельный интерфейс для своих моделей переднего плана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...