打字稿:无法访问 class 中的只读 属性

Typescript: readonly property in class cannot be accessed

export declare class Config {
    readonly ROUTE_TYPE_CREATE: string;
}

import { Config } from "./Config";

export default class NewComponent {
    constructor() {
        this.routeType = Config.ROUTE_TYPE_CREATE;
    }
}

当我编译代码时,它returns:

ERROR in [at-loader] ./new.cpn.ts:12:33 
    TS2339: Property 'ROUTE_TYPE_CREATE' does not exist on type 'typeof Config'.

有什么问题?为什么无法访问?

您在 Config 上声明了一个实例 属性,但不是名为 Config.ROUTE_TYPE_CREATE 的静态 属性。添加 static 它应该可以工作:

declare class Config {
    static readonly ROUTE_TYPE_CREATE: string; 
}

报错信息提示了这一点,如果你非常仔细阅读:

Property 'ROUTE_TYPE_CREATE' does not exist on type 'typeof Config'.

如果您有一个实例,它会显示为 on type 'Config',但您正在直接使用 class。