我想为我的 Angular 项目创建一个全局 const 文件。现在,经过一些研究后,有多种创建此类的方法:
但如上所述,每种方法似乎都有一些缺点。
现在我只是用 const 文件尝试了一下。但仅限于一个大的 const 对象。类似于 Angular 环境文件。现在为了使其不可变,我向其中添加了 Readonly 类型以及 Object.freeze 函数:
export const constants: Readonly<any> = Object.freeze({
Context:
{
PI: 3.14159265359,
WEATHER: 'https://goweather.herokuapp.com/weather/',
},
AnotherContext: {...}
})
这是正确的方法还是我仍然遗漏了一些要点?谢谢!
您选择了正确的选项 - 拥有包含导出常量的单独文件。只是对于打字稿,你有更好的选择来编写它。使用
as const
使对象的每个属性变为只读:
export const constants = {
Context:
{
PI: 3.14159265359,
WEATHER: 'https://goweather.herokuapp.com/weather/',
},
AnotherContext: {...}
} as const;
您可以在此处
了解有关其工作原理的更多信息