Загадочная ошибка «А не функция» при использовании лямбда-функций для Netlify с приложением Vue & Express - PullRequest
0 голосов
/ 24 февраля 2019

Я создаю веб-приложение с Vue, которое будет использовать функции Netlify Lambda и Express.js в качестве серверной части (что делает приложение "безсерверным").Теперь это возможно с Netlify, и я следую их официальному руководству: Как запускать приложения Express.js с помощью функций Netlify .Я также использую плагин Netlify Lambda для Vue CLI , чтобы интегрировать лямбда-функции в мой процесс сборки Vue.

У меня есть небольшая лямбда-функция, которая называется server.js.Когда эта функция вызывается, она получает данные из Spotify API.

'use strict'; 

const serverless = require("serverless-http");
const SpotifyWebApi = require("spotify-web-api-node");
const express = require("express");
const app = express();
const bodyParser = require("body-parser");

const router = express.Router();

router.get("/search", (req, res) => {
    // function that searches for a song with the Spotify API
});

app.use(bodyParser.json());
app.use('/.netlify/functions/server', router);  // path must route to lambda

module.exports = app;
module.exports.handler = serverless(app);

Это должно работать - оно следует шаблону в файле server.js в Официальный пример репозитория Netlify для Express.js с функциями Netlify .Я создаю приложение Express, добавляю конечную точку GET с именем search в Express API, а затем экспортирую приложение Express в качестве обработчика для функций Netlify Lambda.

Однако я все время получаю эту загадочную информацию,Неопределенная ошибка всякий раз, когда я перехожу к URL для функции Lambda: TypeError: a is not a function.Я исследовал эту ошибку и попробовал кучу исправлений и обходных путей, но они не устранили проблему.Вот полная трассировка стека:

{"errorMessage":"a is not a function","errorType":"TypeError","stackTrace":["i (/var/task/server.js:1:220)","Object.<anonymous> (/var/task/server.js:314:35760)","i (/var/task/server.js:1:220)","Object.e.exports.a.debug (/var/task/server.js:159:7043)","i (/var/task/server.js:1:220)","Object.<anonymous> (/var/task/server.js:159:5636)","i (/var/task/server.js:1:220)","Object.<anonymous> (/var/task/server.js:314:13004)","i (/var/task/server.js:1:220)"]}

Если в этом вопросе недостаточно подробностей или вы хотите посмотреть мои файлы конфигурации или мои точные функции, не стесняйтесь исследовать Githubрепозиторий для моего небольшого веб-приложения: https://github.com/vintners/music-calc-app

Кроме того, это URL-адрес функции server.js Lambda на моем сайте Netlify: https://happy -goodall-8bd7c9.netlify.com /.netlify / functions / server

Правильно ли настроена моя лямбда-функция?

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