已知问题
持久化对象缓存 (DOQueueHandler
和 DOShardedTagCache
)
如果你的应用使用 持久化对象 (Durable Objects) (opens in a new tab) 进行缓存,在构建应用时可能会看到以下警告:
┌─────────────────────────────────┐
│ OpenNext — 正在构建 Next.js 应用 │
└─────────────────────────────────┘
> next build
▲ Next.js 15.2.4
▲ [警告] 你已定义绑定到以下内部持久化对象:
- {"name":"NEXT_CACHE_DO_QUEUE","class_name":"DOQueueHandler"}
这些绑定在本地开发环境中不会生效,但在生产环境中应该可以正常工作。
如果你想在本地开发这些功能,可以在单独的 Worker 中定义你的持久化对象,并使用单独的配置文件。
详细说明请参考持久化对象章节:
https://developers.cloudflare.com/workers/wrangler/api#supported-bindings
正在创建优化的生产版本...
workerd/server/server.c++:1951: 警告: 配置中引用的 DurableObjectNamespace 指向类 "DOQueueHandler",但该持久化对象类并未从 worker 中导出。请确保类名匹配、已正确导出且该类继承自 'DurableObject'。尝试调用此持久化对象类将在运行时失败,但历史上这并非启动时错误。未来版本的 workerd 可能会将其改为启动时错误。
该警告可以安全忽略,因为在构建过程中不会使用这些缓存持久化对象。