У меня есть следующая структура папок для запущенного проекта serverless-plugin-typescript
:
<root>
- services
- common
- sample-service
sample-service
содержит serverless.yml и все конечные точки. common
содержит несколько объектов / сервисов / утилит / et c. Когда я импортирую файл из common
в sample-service
, а затем запускаю команду offline или package, структура выходной папки меняется с этого (это то, что я хочу):
<build root>
- endpoints
- ...files
На это (которое это то, чего я не хочу):
<build root>
- common
- ...files
- sample-service
- endpoints
- ...files
Если я попытаюсь попасть в конечную точку API, я получаю сообщение об ошибке, что он не может найти свой файл обработчика (поскольку он находится в каталоге sample-service/endpoints
вместо каталога root endpoints
). Я могу обойти это в случае serverless-offline
, передав параметр --location
и указав папку sample-service
. Но когда я развертываю это в AWS, у меня та же проблема, что он не находит конечную точку, поскольку это папка глубже, чем должна быть.
Я пробовал использовать ссылки на проекты Typescript, но не имел много удачи. Я также пробовал использовать serverless-webpack
, но, к сожалению, в нем есть довольно большая утечка памяти, поэтому я перешел к использованию другой системы сборки.
Есть ли у кого-нибудь представление о том, как я могу изменить конфигурация Typecript или бессерверного плагина для mimi c структуры сборки, которую я ищу (первая)? Или, может быть, я неправильно реализовал ссылки на проекты?