首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用可注入令牌处理全局常量角4

使用可注入令牌处理全局常量角4
EN

Stack Overflow用户
提问于 2017-07-12 15:53:25
回答 1查看 1.3K关注 0票数 7

我们正在建立新的角4项目,并试图了解什么样的方法将是最好的处理全局常数,将通过所有的项目重用。

我希望将所有常量放在共享文件夹中,如下所示

共享

代码语言:javascript
复制
  --constants
    --dateTime.ts
    --money.ts
    --dialogConfig.ts

并对每个文件使用可注入令牌。

https://blog.thoughtram.io/angular/2016/05/23/opaque-tokens-in-angular-2.html

例如,dialogConfig.ts将是

代码语言:javascript
复制
export let DIALOG = new InjectionToken<DialogConfig>('dialog-config');

export const DIALOG_CONFIG: DialogConfig = {
 width : '600px',
 height : 'auto'
};

这样,每个常量对象都将从名称冲突中被保存下来,并且可以被注入。

这种方法的优点和缺点是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-10 06:46:22

我不确定您是否通过使用注入令牌使这件事复杂化了。如果您只想在整个应用程序中提供全局常量,则可以完全控制这些常量的命名空间以及如何在每个源文件中导入它们。通过从特定的常量保存TS文件导入它们,绝对可以确保与其他库没有冲突。

您可以很容易地避免这样命名冲突,而且我并不认为使用角的依赖关系管理来注入常量而不是直接导入它们的原因。

在我看来,对于您的情况,下面的方法似乎更直接:

  1. 在一个或多个TS文件中定义和导出常量(正如您所做的)。
  2. 在需要常量的任何地方,都可以使用import { MY_CONSTANT } from '../constants/my-constant.ts';导入它们。
  3. 利用它们,快乐起来。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45062488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档