Я работаю над использованием Lambda без сервера с Node.js.Я создал проект в AWS из:
Codestar> Создать новый проект> Выбрать из шаблона: Выбрать Node.js (веб-приложение + AWS Lamda)
Когда я открываю проект вAWS Cloud9, для большинства вещей он использует node.js 8.10, но когда он собирается собрать, он переключается на 6.14 и синтаксис нарушает сборку.Это также разочаровывает, потому что встроенный редактор в Lambda Management Console имеет хороший раскрывающийся список для указания версии, однако я не могу использовать встроенный редактор, когда мой проект становится слишком большим.
Например, в AWS Cloud9 я нажимаю кнопку «Выполнить» (вверху, после Support | Preview), чтобы проверить мой проект, введите полезную нагрузку, и этот синтаксис будет принят, и тест будет выполнен:
const responsePost = async (status, eventBody) => {
Когда я сохраняю, git commit, git push и панель инструментов CodeStar показывает, что сборка завершена, сборка завершается неудачно.В логах CodeBuild есть запись об ошибке:
/codebuild/output/src339298213/src/index.js:19
const responsePost = async (status, eventBody) => {
^
SyntaxError: Unexpected token (
Ошибка исчезает, удаляя 'async' и '=>'.
В терминале Cloud9, когда япроверьте версию узла, на которой написано 6.14.4.
Как мне заставить этот процесс использовать Node.js 8.10?
То, что я пробовал:
template.yml -- установите для Runtime значение nodejs8.10
терминал: nvm для обновления node.js