我正在尝试在打字稿应用程序中创建一个常量文件。我们的想法是,当调用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
答案 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