Javascript 神秘的;A不是一个函数;将Lambda函数用于带有Vue&;的Netlify时出错;快速应用
我正在用Vue构建一个web应用程序,它将使用Netlify Lambda函数和Express.js作为服务器端(使应用程序“无服务器”)。Netlify现在可以做到这一点,我遵循他们的官方指南:。我还使用将lambda函数集成到我的Vue构建过程中 我有一个小lambda函数,名为Javascript 神秘的;A不是一个函数;将Lambda函数用于带有Vue&;的Netlify时出错;快速应用,javascript,express,vue.js,aws-lambda,netlify,Javascript,Express,Vue.js,Aws Lambda,Netlify,我正在用Vue构建一个web应用程序,它将使用Netlify Lambda函数和Express.js作为服务器端(使应用程序“无服务器”)。Netlify现在可以做到这一点,我遵循他们的官方指南:。我还使用将lambda函数集成到我的Vue构建过程中 我有一个小lambda函数,名为server.js。调用此函数时,它将从Spotify API获取数据 'use strict'; const serverless = require("serverless-http"); const Spo
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
文件中的模式。我创建了一个Express应用程序,将名为search
的GET
端点添加到Express API,然后将Express应用程序导出为Netlify Lambda函数的处理程序
然而,每当我导航到Lambda函数的url时,我总是会遇到这个神秘而模糊的错误:TypeError:a不是函数。我已经研究了这个错误,并尝试了一系列的修补程序和解决方法,但他们并没有解决这个问题。以下是完整的堆栈跟踪:
{“errorMessage”:“a不是函数”、“errorType”:“TypeError”、“stackTrace”:[“i(/var/task/server.js:1:220)”、“对象”
另外,这是我的Netlify站点上的server.js
Lambda函数的URL:
我的Lambda函数设置不正确吗?查看“堆栈跟踪”将非常有用"对于该错误。由于您包含的代码中没有a
函数,因此错误显然发生在另一个函数的某个位置,错误的堆栈跟踪可以帮助您准确定位该位置。这就是问题所在:堆栈跟踪几乎无法读取。请参见上面的答案,我添加了它。或者导航到ur我想,根据第314行第13004列的情况,server.js是一种缩小的/网页包文件。或者你必须查看你的网页包文件中提到的位置,看看那里发生了什么,或者你可以在lambda中使用未统一的代码,或者看看是否是您可以在lambda上使用源映射从未使用过它,只需在谷歌上搜索aws lambda节点源映射即可。