svelte - 如何在 sveltekit netlify 中使用文件 api

标签 svelte netlify sveltekit

我有这样的代码

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文件夹不再存在,因此您的代码不起作用。
您要做的第一件事是将您的 Assets 复制到 /functions文件夹,以便它们首先可用。
然后你必须确保你的脚本看起来在正确的位置,这里有一些神奇的地方,函数没有在放置的相同位置执行。您可以在 Netlify 支持论坛上阅读更多相关内容,主题如 this one .
如果您最终找到了可行的解决方案,也可以将其添加到此处作为答案。

关于svelte - 如何在 sveltekit netlify 中使用文件 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67953577/

相关文章:

javascript - 处理 Svelte 组件 Prop 的最佳方式

javascript - 这是什么 : sign after a variable JS syntax?

html - Netlify 删除 url slug 上的 .html

gatsby - yarn : command not found after gatsby deployment to netlify

svelte - 这个 vite 错误是什么意思?语法错误 : Unexpected token (6:180) at Object. pp$4.raise

Svelte 热重载问题

javascript - 如何将全栈应用程序部署到heroku或netlify?哪些文件是必需的?

node.js - 如何在 Sveltekit 中集成 sqlite3?

svelte - SvelteKit 中是否有相当于 Vite 的 build.outDir 的东西,如何使用它?

svelte - 如何构建实时股票报价的 Svelte 商店