Диалог потока в лямбда-функции netlify - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь создать серверную часть для диалогового потока, используя лямбда-функцию netlify, так как в противном случае предполагается, что веб-сайт будет генерироваться на основе c генерируемого 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 пытается использовать веб-пакет в модуле диалогового потока, который, в свою очередь, имеет некоторые зависимости, которые требуют динамического разрешения имен модулей в стиле узла c. Есть ли способ обойти эту проблему?

1 Ответ

0 голосов
/ 15 января 2020

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

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

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

{

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

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

...