【问题标题】:Deno cotton 'must have type'Deno 棉“必须有类型”
【发布时间】:2021-06-06 21:43:16
【问题描述】:

我正在学习关于 Deno 和 Angular 的课程,但我被卡住了。我什至下载了课程创建者提供的最终代码,但出现了相同类型的错误。

当我尝试运行此命令时:deno run --allow-net --unstable app.ts

我不断收到此错误消息:

检查 file:///?:/????/deno-admin-main/app.ts 错误:未捕获错误:列'role_id'必须有一个类型! 抛出新错误(Column '${propertyKey}' must have a type!);
^
在https://deno.land/x/cotton@v0.7.5/src/model.ts:76:13 在 DecorateProperty (https://deno.land/x/cotton@v0.7.5/src/utils>/reflect.ts:1431:27) 在 Reflect.decorate (https://deno.land/x/cotton@v0.7.5/src/utils/reflect.ts:858:16) 在 __decorate (file:///?:/????/deno-admin-main/src/models/role-permission.ts:3:92) 在 file:///?:/????/deno-admin-main/src/models/role-permission.ts:9:5

// 角色权限

import {Model, Primary, Column} from "https://deno.land/x/cotton@v0.7.5/mod.ts";

@Model('role_permissions')
export class RolePermission {
    @Primary()
    id!: number;

    @Column()
    role_id!: number;

    @Column()
    permission_id!: number;
}

【问题讨论】:

    标签: deno


    【解决方案1】:

    根据他们的docs,使用此cotton 功能需要在运行程序时包含自定义tsconfig.json:

    请记住,此功能需要自定义 TypeScript 配置来告诉 Deno 我们要使用 TypeScript 装饰器(打开新窗口),这目前仍是一项实验性功能。

    // tsconfig.json
    
    {
      "compilerOptions": {
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true
      }
    }
    
    deno run --unstable --config ./tsconfig.json app.ts
    

    【讨论】:

    • 谢谢,但我已经有了,即 tsconfig.json。我正在学习 Udemy 课程并将继续学习。我发现在许多课程中,问题会在以后得到纠正/消失。
    【解决方案2】:

    问题是一个错字。我没有将“app.ts”添加到文件scripts.json:

    {
      "$schema": "https://deno.land/x/denon@2.4.7/schema.json",
      "scripts": {
        "start": {
          "cmd": "deno run app.ts",
          "desc": "run my app.ts file",
          "allow": [ 
            "net"
          ] ,
          "tsconfig": "tsconfig.json"  
        }
      },
      "watcher": {
        "match": [
          "app.ts",
          "src/**/*.ts"
        ]
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2011-09-26
      • 2015-05-16
      • 2018-03-27
      • 2012-08-13
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多