项目是在 Nuxt 3 中构建的,并通过 GitHub 集成部署到 Pages。
Cloudflare Dashboard 用于使用变量“DB”在 Pages 项目中创建到 D1 数据库的绑定。
部署应用程序时,我无法在 API 路由中访问此绑定。
'未配置数据库连接。' 是收到的错误 - 这让我认为绑定未正确访问。我无法找到有关在此上下文中必须使用的环境变量链的一致文档(在页面上的 Nuxt 中访问 D1 绑定)。
在API路径(/server/api/database.js)中:
export default defineEventHandler(async (event) => {
try {
// access the database
const db = event.context.cloudflare.env.DB;
if (!db) {
throw new Error('Database connection is not configured.');
}
...
本地开发正在工作...我安装了wrangler和帮助模块硝基-cloudflare-dev并拥有以下wrangler.toml文件:
[[d1_databases]]
binding = "DB"
database_name = "prod-example"
database_id = "813210b5-f217-4eaa-ae5d-xxxxxxxxxxxx"
preview_database_id = "DB"
我的阅读:
这是用户错误。 Cloudflare 更新了其页面设置的 UI - 访问绑定设置时,环境(生产/预览)下拉列表滚动到视图之外。我的绑定配置正确,只是从未为预览环境建立过。