我知道 SvelteKit 仍处于测试阶段并且发生了很大变化,但我仍然想询问如何让 TypeORM 与 SvelteKit 开发服务器和生产节点服务器一起使用。
我使用基本的 SvelteKit 项目(使用)和 TypeORM(使用此处的安装说明)创建了一个最小的存储库。npm init svelte@next
当我尝试这样做时,我收到一条未正确导入的npm run dev --
警告:import-metadata
reflect-metadata doesn't appear to be written in CJS, but also doesn't appear to be a valid ES module (i.e. it doesn't have "type": "module" or an .mjs extension for the entry point). Please contact the package author to fix.
Run Code Online (Sandbox Code Playgroud)
然后我从 TypeORM 得到一个异常:
[vite] Error when evaluating SSR module /src/lib/User.ts:
ColumnTypeUndefinedError: Column type for User#id is not defined and cannot be guessed. Make sure you have turned on an "emitDecoratorMetadata": true option in tsconfig.json. Also make sure you have imported "reflect-metadata" on top of the main entry file in your application (before any entity imported).If you are using JavaScript instead of TypeScript you must explicitly provide a column type.
Run Code Online (Sandbox Code Playgroud)
我不确定为什么反射元数据库似乎没有正确导入。我尝试过 import "reflect-metadata" 和 import * as Reflect from 'reflect-metadata'; 但得到了同样的错误。哎呀,我什至尝试将 JS 库复制并粘贴到 hooks.ts 中并注释掉导入,但似乎会发生相同的 Reflect-metadata 和 TypeORM 错误。
现在我的假设是,如果可以正确导入反射元数据库,那么这将修复 TypeORM 错误,但我不确定。这是 SvelteKit Github 中的一个相关问题,这是我在没有太多帮助的情况下创建的一个 reddit 线程。我希望我的问题可以在不打开新的 SvelteKit 问题的情况下得到解决,但我想确保可以将 TypeORM 与 SvelteKit 一起使用,因为它是 Github 上最受好评的 JS ORM。
如果您有任何想法或解决方案,我很想听听!
可能为时已晚,但如果其他人偶然发现了这一点 - 输入“专栏”就为我解决了这个问题。IE。添加'text', {nullable:false}
部分。
@Entity()
export default class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column('text', { nullable: false })
email: string;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1760 次 |
最近记录: |