静态常数:怎么样?

时间:2016-09-02 08:00:34

标签: typescript

我正在尝试在打字稿应用程序中创建一个常量文件。我们的想法是,当调用ServiceConstants.AUTH_SERVICE_TOKEN时,它将返回一个不透明的令牌对象。

我尝试了两种实现方式:

ServiceConstants.ts作为命名空间

export namespace ServiceConstants {

    export const AUTH_SERVICE_TOKEN: OpaqueToken = new OpaqueToken('AuthService');

}

ServiceConstants.ts作为一个类

export class ServiceConstants {

    public static AUTH_SERVICE_TOKEN: OpaqueToken = new OpaqueToken('AuthService');

}

但是,如果我调用此对象,我会得到一个

  

未捕获TypeError:无法读取属性'AUTH_SERVICE_TOKEN'   未定义

如何初始化AUTH_SERVICE_TOKEN以便我可以简单地调用ServiceConstants.AUTH_SERVICE_TOKEN而无需在不必创建新对象的情况下初始化变量?我认为命名空间已经足够但似乎没有。

干杯

JT

1 个答案:

答案 0 :(得分:1)

typescript处理的方式是,需要将ServiceConstants.ts编写为类或命名空间。只需一个包含以下单行的文件即可:

<强> ServiceConstants.ts

export let AUTH_SERVICE_TOKEN: OpaqueToken = new OpaqueToken('AuthService');

然后在调用文件中

<强> somefile.ts

import {AUTH_SERVICE_TOKEN} from './ServiceConstants';

console.log(AUTH_SERVICE_TOKEN);

HTH

JT