У меня есть 2 проекта:
- Пользовательский интерфейс Frontend - разработан с использованием Angular 6
- Бэкэнд-сервер - разработан
с использованием Express, Mongo
Оба проекта используют машинопись.
Внутренний сервер реализует службу RESTFUL, а интерфейс внешнего интерфейса собирает данные от пользователей. Я подумал, что будет удобно обмениваться общими интерфейсами объектной модели между двумя проектами. В настоящее время интерфейсы модели определены в рамках внешнего интерфейса. Чтобы поделиться этими интерфейсами модели с бэкендом, я создал символическую ссылку в папке проекта бэкенда, которая сопоставляется с папкой интерфейса модели. См. Ниже для иллюстрации
</p>
<p>Frontend
|
+---> src
|
+---> app
|
+---> model
|
+--- client.ts
+--- sales.ts</p>
<p>Backend
|
+---> src
|
+---> app
|
+---> model (symbolic link the the model folder above)</p>
<p>
Это работает в определенной степени, что означает, что все в порядке, когда файлы модели достаточно стабильны. Но если я изменю какой-либо из файлов интерфейсов совместно используемой модели в каком-либо проекте, другой проект, похоже, не примет эти изменения. Например, в проекте внешнего интерфейса я изменил свойство класса на необязательное, но оно не сразу передается внутреннему проекту, и я все еще получаю жалобы из кода Visual Studio о необходимости инициализировать свойство в конструкторе.
Есть ли другой способ поделиться кодом в VS Code вместо символической ссылки? Я надеюсь, что есть решение, подобное затмению, где я могу импортировать рабочий проект в виде библиотеки.