gpt4 book ai didi

Python 无服务器函数 Vercel - Next.js

转载 作者:行者123 更新时间:2023-12-03 21:47:57 35 4
gpt4 key购买 nike

我发现我可以使用 Python 在 Next.js 中创建一个无服务器函数项目。一旦部署到 Vercel ,它将被转换为无服务器功能。
我浏览了文档并找到了 simple example输出日期:

from http.server import BaseHTTPRequestHandler
from datetime import datetime

class handler(BaseHTTPRequestHandler):

def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/plain')
self.end_headers()
self.wfile.write(str(datetime.now().strftime('%Y-%m-%d %H:%M:%S')).encode())
return
他们提供了一个现场工作示例 here .
显然所有需要的是放置文件 date.pyapi一个引导的 Next.js 项目的文件夹,你就可以开始比赛了。部署后,Vercel 将检测 Python 文件并将其用作无服务器功能。
部署成功,我将文件放在 pages/api 中文件夹。但是,该函数永远不会被调用(下图):
vercel function output
旧版本显然需要 configuration of serverless functions by adding a vercel.json file .但这现在似乎没有必要。
我错过了什么?

最佳答案

看完常见问题后。我找到了一个名为 Unmatched Function Pattern 的条目, 它指出:

the functions property uses a glob pattern for each key. This pattern must match Serverless Function source files within the api directory.


它还提到:

if you'd like to use a Serverless Function that isn't written with Node.js in combination with Next.js, you can place it in the api directory (provided by the platform), since pages/api (provided by Next.js) only supports JavaScript.


我认为这需要澄清一点。确实有默认 api使用 create-next-app 引导 Next.js 项目时的文件夹,但它是在 pages 中创建的目录。
如果您关注 example they give ,您可以继续在 pages/api 中使用受支持的语言(JavaScript 除外)创建无服务器函数。目录并想知道为什么 Vercel 在您部署时不选择它。
简而言之,如果您使用的是 another language to write a serverless function在 Next.js 项目中。一定要把它放在 api里面位于 中的文件夹根项目目录(如果没有,创建一个)。
感谢@evgenifotia 的建议,它为我指明了正确的方向并帮助我解决了这个问题。
备注 : 你只能有一个 api存放无服务器功能的目录。要么你有 pages/api目录或 api根文件夹中的目录,同时在一个项目中是 不是 支持的。

关于Python 无服务器函数 Vercel - Next.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63652016/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com