我正在尝试在 typescript 应用程序中创建常量文件。这个想法是,当 ServiceConstants.AUTH_SERVICE_TOKEN
被调用时,它将返回一个不透明的 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');
}
但是,如果我调用这个对象,我会得到一个
Uncaught TypeError: Cannot read property 'AUTH_SERVICE_TOKEN' of undefined
如何初始化 AUTH_SERVICE_TOKEN 以便我可以简单地调用 ServiceConstants.AUTH_SERVICE_TOKEN
而无需初始化变量而无需创建新对象?我认为 namespace 就足够了,但似乎还不够。
干杯
JT
最佳答案
typescript 处理此问题的方式是要求将 ServiceConstants.ts 编写为既不是类也不是 namespace 。只需一个包含以下单行的文件就足够了:
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
关于typescript - 静态常量 : how?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287239/