Диалоговый поток в лямбда-функции netlify

Я пытаюсь создать бэкэнд для диалогового процесса, используя лямбда-функцию netlify, поскольку в противном случае веб-сайт должен быть статической целевой страницей на основе nuxt.js, размещенной там. Создание простой функции разрешения работает отлично, чтение и анализ учетных данных для аутентификации в Google проходит без проблем, но проблема возникает при попытке потребовать библиотеку диалогового потока. В браузере появляется ошибкаFunction invocation failed: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type number.

Во время бега netlify-lambda serve Я получаю предупреждение:

WARNING in /mnt/c/Projects/deploy-landing/node_modules/google-gax/node_modules/semver/index.js 3:51-64 Critical dependency: the request of a dependency is an expression.

Насколько я понимаю, netlify-lambda пытается использовать webpack в модуле диалогового потока, который, в свою очередь, имеет некоторые зависимости, требующие разрешения имен динамических модулей в стиле узла. Есть ли способ обойти эту проблему?

1 ответ

Я создал файл webpack.functions.js:

module.exports = {
  externals: { dialogflow: 'dialogflow' }
};

Затем в package.json Я изменил сценарии, которые запускаю для запуска лямбда-функций, чтобы использовать этот файл конфигурации:

{

  "scripts": {
    "lambda-build": "netlify-lambda build --config ./webpack.functions.js \"./netlify/dev\""
    ...
  }
  ...
}

Насколько я понимаю, netlify теперь не связывает диалоги, а вместо этого используется как модуль узла. Так или иначе - работает.

Другие вопросы по тегам