在 Angular 中定义全局 Typescript const 文件

问题描述 投票:0回答:1

我想为我的 Angular 项目创建一个全局 const 文件。现在,经过一些研究后,有多种创建此类的方法:

  1. const 类(只读修饰符在运行时不起作用)
  2. const 文件(缺少多个上下文之间的区别)
  3. 环境文件(仅适用于特定于环境的用例)

但如上所述,每种方法似乎都有一些缺点。

现在我只是用 const 文件尝试了一下。但仅限于一个大的 const 对象。类似于 Angular 环境文件。现在为了使其不可变,我向其中添加了 Readonly 类型以及 Object.freeze 函数:

export const constants: Readonly<any> = Object.freeze({
  Context:
    {
      PI: 3.14159265359,
      WEATHER: 'https://goweather.herokuapp.com/weather/',
    },
   AnotherContext: {...}
})

这是正确的方法还是我仍然遗漏了一些要点?谢谢!

angular typescript constants
1个回答
0
投票

您选择了正确的选项 - 拥有包含导出常量的单独文件。只是对于打字稿,你有更好的选择来编写它。使用

as const
使对象的每个属性变为只读:

export const constants = {
  Context:
    {
      PI: 3.14159265359,
      WEATHER: 'https://goweather.herokuapp.com/weather/',
    },
   AnotherContext: {...}
} as const;

您可以在此处

了解有关其工作原理的更多信息
© www.soinside.com 2019 - 2024. All rights reserved.