Бессерверное развертывание на AWS недостающих модулей Lambda? - PullRequest
0 голосов
/ 18 июня 2020

Здесь впервые имеем дело с serverless. Успешное развертывание с использованием бессерверного развертывания после выполнения инструкций по миграции существующего приложения express на бессерверное. Но aws лямбда продолжает выдавать ошибку:

«errorType»: «Runtime.ImportModuleError», «errorMessage»: «Ошибка: не удается найти модуль 'serverless-http' \ nRequire stack: \ n - /var/task/app.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js scheme,

Я запутался. Что я делаю не так? В руководстве по преобразованию существующего приложения express не сказано, что нам нужно создать AWS Lambda Layer, но, поскольку кажется, что Lambda не может найти модуль serverless-http, означает ли это, что создание слоя исправление?

Изменить: мой .zip-файл кажется только express. js файлом . Я не уверен, что это необычно, но чтение онлайн показывает, что у большинства людей, похоже, тоже есть заархивированная папка node_modules? Я предполагаю, что отсутствие папки node_module в файле .zip вызывает эту ошибку runtime.ImportModuleError? Как мне заставить бессерверную версию добавить папку node_modules, если это так?

1 Ответ

0 голосов
/ 19 июня 2020
Папка

node_modules обычно упакована с вашим кодом - при условии, что она существует в вашем каталоге (не так ли?).

Если node_modules не установлен на вашем локальном компьютере, вы можете создать его с помощью npm install команда. Эта команда установит все зависимости, перечисленные в файле package-lock. json (или package. json) - извините, я не парень узла: (.

Но это определенно звучит как вы не загружаете свою папку node_modules, потому что она находится не на вашем локальном компьютере. Сначала вы должны инициализировать каталог.

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