我正在尝试将 Drizzle 集成到 Nuxt 3 中。
在 /server/db/index.ts 我有以下内容
import { sql } from '@vercel/postgres';
import { drizzle } from 'drizzle-orm/vercel-postgres';
import dotenv from 'dotenv';
import * as schema from './schema';
import path from 'path'
dotenv.config({ path: '../../.env' });
export const db = drizzle(sql, { schema });
当我尝试将
db
导入我的组件时,出现以下错误
500
process.cwd is not a function
at Object.configDotenv (http://localhost:3000/_nuxt/node_modules/.cache/vite/client/deps/dotenv.js?v=c9c673b9:267:47)
at Object.config (http://localhost:3000/_nuxt/node_modules/.cache/vite/client/deps/dotenv.js?v=c9c673b9:314:29)
at http://localhost:3000/_nuxt/server/db/index.ts?t=1720792472809:5:8
我认为您必须确保从当前文件的目录正确解析到 .env 文件的路径。 我建议您使用 path.resolve 来正确获取文件路径。
例如:
dotenv.config({ path: path.resolve(__dirname, '../../.env') });
并确保代码是服务器端逻辑的一部分,并且不包含在客户端捆绑包中。
希望我的回答对你有帮助。