javascript - 带有 JS 的 TypeORM

标签 javascript node.js express typeorm

我想在我的 Express 应用程序中使用 TypeORM,该应用程序是 JS 而不是 TS。

首先这可能吗?

如果是,那么当我尝试使用 TypeORM 时,我会遇到以下错误:

@Entity()
^

SyntaxError: Invalid or unexpected token
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:599:28)

我的实体文件 - Users.js

const typeorm = require("typeorm");
const Entity = typeorm.Entity;
const Column = typeorm.Column;
const PrimaryGeneratedColumn = typeorm.PrimaryGeneratedColumn;

@Entity()
module.exports = class Users {
    @PrimaryGeneratedColumn
    id: Number;

    @Column()
    name: String;
}

可以采取什么措施来解决这个问题?

最佳答案

@Entity这样的装饰器是TS特性,对于js你需要使用EntitySchema类来代替。

您可以在这里找到更多示例:https://github.com/typeorm/javascript-example 。但请记住,它没有在 js 中经过充分测试。

const EntitySchema = require("typeorm").EntitySchema; // import {EntitySchema} from "typeorm";
const Category = require("../model/Category").Category; // import {Category} from "../model/Category";

module.exports = new EntitySchema({
    name: "Category",
    target: Category,
    columns: {
        id: {
            primary: true,
            type: "int",
            generated: true
        },
        name: {
            type: "varchar"
        }
    }
});

关于javascript - 带有 JS 的 TypeORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61877380/

相关文章:

javascript - 使用响应式页面内容实现侧边栏

javascript - 带分页演示的无限滚动

javascript - Fabric JS 父子对象

json - 将 JSON 转换为 bash 环境变量

javascript - 在 Three.js 中,如何为我的形状提供自定义边缘颜色? (不只是设置线框 :true )

node.js - 为什么 Stripe 付款不完整?

javascript - Node JS 判断字符串中的某个单词是否在数组中

node.js - 在redis中查找键/值

node.js - Express 突然不包含任何中间件

javascript - 使用 ejs 模板和 MYSQL 在 Node js 中进行服务器端分页