【发布时间】:2020-12-18 11:08:09
【问题描述】:
我发现我可以使用 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.py 放在引导的 Next.js 项目的 api 文件夹中,您就可以开始比赛了。部署后,Vercel 将检测 Python 文件并将其作为无服务器函数提供。
部署成功,我根据需要将文件放在pages/api 文件夹中。但是,该功能永远不会被拾起(下图):
旧版本显然需要configuration of serverless functions by adding a vercel.json file。不过现在看来没必要了。
我错过了什么?
【问题讨论】:
-
如果您将 api 文件夹放在 pages 文件夹中,请尝试将其移出
-
@evgenifotia 当您使用
create-next-app生成一个新应用程序时,它会自动在pages内创建一个api文件夹。 -
你用烧瓶试过了吗?