部署到 Cloudflare Pages 时无法在 Nuxt 3 API 路由中访问 Cloudflare D1 数据库

问题描述 投票:0回答:1

项目是在 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"

我的阅读:

nuxt.js cloudflare nuxt3.js cloudflare-pages
1个回答
0
投票

这是用户错误。 Cloudflare 更新了其页面设置的 UI - 访问绑定设置时,环境(生产/预览)下拉列表滚动到视图之外。我的绑定配置正确,只是从未为预览环境建立过。

Cloudflare 页面设置环境设置位置

© www.soinside.com 2019 - 2024. All rights reserved.