@planetscale/database在Node.js中使用drizzle(在Hapi中,使用ts-node)产生错误

6bc51xsx  于 2023-06-29  发布在  Node.js
关注(0)|答案(1)|浏览(139)

我正在使用Drizzle ORM和Planetscale。
连接到Planetscale我得到一个错误:

Error [ERR_REQUIRE_ESM]: require() of ES Module /node_modules/@planetscale/database/dist/index.js from src/database/connect.ts not supported.
Instead change the require of index.js in /Users/timo/Desktop/get-out/src/database/connect.ts to a dynamic import() which is available in all CommonJS modules.

这就是代码:

import dotenv from 'dotenv'

import { drizzle } from 'drizzle-orm/planetscale-serverless'
import { connect } from '@planetscale/database'

dotenv.config()

const { DATABASE_HOST, DATABASE_USERNAME, DATABASE_PASSWORD } = process.env

const connection = connect({
  host: DATABASE_HOST,
  username: DATABASE_USERNAME,
  password: DATABASE_PASSWORD
})

export const database = drizzle(connection)

我不知道该怎么办!也许有人能帮忙!
我尝试动态导入@planetscale/database,但这似乎也不能正常工作。

kpbpu008

kpbpu0081#

有同样的问题。切换到一个.js文件,而不是一个.ts文件,它的工作。Idk为什么它不能正常工作lol。代码(在index.js中):

import { connect } from "@planetscale/database";

const connection = connect({
  host: DATABASE_HOST,
  username: DATABASE_USERNAME,
  password: DATABASE_PASSWORD
});

相关问题