Ответ 1
Я думаю, что то, что вы переживаете, такое же, как то, что я переживал недавно. Я могу установить пакеты npm в корневой каталог приложения, но ничто не будет развернуто в лямбда.
Я понимаю, что serverless развертывает все под каждым каталогом компонентов (подкаталог под корнем приложения). В вашем случае под functions
.
Я не мог найти много информации в документации без сервера, но то, что я сделал, это определить файл package.json
в моей папке functions
, а затем запустить установку npm в этом подкаталоге. Затем после развертывания в лямбда, node_modules
в этом каталоге также был развернут, что означает, что для моего кода функции может потребоваться любой из этих модулей npm.
Итак, ваша структура папок теперь должна выглядеть так:
root-project-folder
|-functions
|--package.json
|--node_modules
|---geopoint
|--geospatial
|---handler.js
|-package.json
|-node_modules
|--geopoint
Преимущество здесь также в том, что вы можете развернуть только зависимости npm, которые нужны вашим функциям, без тех, которые серверу не требуется развертывать ваши ресурсы.
Надеюсь, это поможет - еще раз не уверен, что это лучшая практика, только то, что я делаю, потому что это не документировано нигде, что я мог бы найти в репозитории без сервера или в любом примере кода.