如何使用sveltekit netlify的文件api



我有这样的代码

import fs from 'fs';
import { promisify } from 'util';
import type { SvelteComponent } from 'svelte';
const readdir = promisify(fs.readdir);
export async function getAllPosts() {
const files = (await readdir(`src/data/posts`)).map((i) => i.replace(/.svx$/, ''));
return files;
}

和我的服务器路由

import { getAllPosts } from '../../lib/blog';
export async function get() {
return { body: await getAllPosts() };
}

它在开发中运行良好,但在netlify上的生产中不起作用,因为实际上已经没有src/data/posts目录了。如何让sveltekit在构建时生成这个数组?

我试过使用静态适配器,但它不能正确生成路由,因为尽管有指向网站上所有页面的链接,但它们不是立即生成的。所以我想我必须使用netlify适配器。

/src/data/posts文件夹已不存在,因此您的代码无法工作,这是正确的。

您必须做的第一件事是将资产复制到/functions文件夹,以便它们首先可用。

然后,你必须确保你的脚本看起来在正确的位置,这里有一些神奇的地方,函数没有在它所在的位置执行。您可以在Netlify支持论坛上阅读更多关于这方面的内容,主题如下。

如果你最终找到了一个可行的解决方案,也许也可以在这里添加它作为答案。

最新更新