我正在尝试使用 SvelteKit 开发一个将部署在 one.com 上的网站。由于这将是一个静态网站,因此我使用@sveltejs/adapter-static
。
我面临的问题是关于使用适配器静态预渲染 API 端点。
代表该问题的代码在这里:
https://stackblitz.com/edit/node-ewi2yl?file=src%2Froutes%2Fapi%2Fupload%2F%2Bserver.js
在 中routes/api/upload/+server.js
,我尝试了该prerender
选项。但部署后我的尝试均未奏效。
/* - In DEV mode, runtime error "Error: Cannot prerender endpoints that have mutative methods".
- Build fails with error "Error: Cannot prerender a +server file with POST, PATCH, PUT, or DELETE (/api/upload)".
*/
export const prerender = true;
/* - In DEV mode, it works.
- Build does not fail. But after deploying, the endpoint /api/upload is missing - 404 Not Found.
*/
export const prerender = false;
似乎POST
端点不会预渲染。尽管我的端点不会改变页面。这POST
只是为了将数据放入 SQLite 数据库中(上面的代码中未显示 - 可能不相关)。
在 Google 上几乎没有找到Error: Cannot prerender a +server file with POST, PATCH, PUT, or DELETE
!
有人知道如何处理这种情况吗?