【问题标题】:Constants in Coffeescript and nodeJSCoffeescript 和 nodeJS 中的常量
【发布时间】:2018-04-18 14:36:27
【问题描述】:

我应该如何保持常量?例如,我在 Github 中看到了很多代码,其中表名、行等只是硬编码在 coffeescript 类的方法中。如何在这种常量中进行,如何保持它们?以及如何保持常量,在模块之间共享的枚举。我想我应该只为公开常量创建单独的类,对吧?最后,在分布式应用程序的情况下,在服务之间保持常量和枚举的方法是什么。例如,项目可以包含多个应用程序,它们通过套接字相互通信。我应该创建另一个只公开常量的应用程序吗?如果是,此解决方案对性能有何影响?

【问题讨论】:

  • 请编辑您的问题以包含一个且仅包含一个特定问题。删除“最佳实践”,因为它们通常会根据意见关闭。
  • 好的,我把问题分成了几个问题

标签: javascript node.js oop coffeescript


【解决方案1】:

我会将应用程序范围的常量放在它们自己的模块中,并将它们导出为module.exports 上的大写属性名称。

#constants.coffee
module.exports =
  MAX_CONNECTIONS: 32
  SEASONS: ['WINTER', 'SPRING', 'SUMMER', 'FALL']
  ANSWER: 42

当你不会创建很多实例时,不需要一个类。您还可以根据需要将它们设置为模块级变量或类静态成员(@MAX_CONNECTIONS = 32)登录咖啡脚本类定义)。

【讨论】:

    【解决方案2】:

    有意思,我以前用过

    constants.coffee

    module.value 'SOME_CONSTANT', 'someConstantValue'

    仅用于偶尔需要的常量。我认为上述解决方案之间的区别在于,该解决方案需要依赖注入才能使用它。

    【讨论】:

      【解决方案3】:

      也许我遗漏了一些东西,但我只是使用了这个:

      module.exports.SomeConstant =
          VALUE1: 1
          VALUE2: 2
          VALUE3: 3
      

      【讨论】:

        猜你喜欢
        • 2014-08-29
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        • 2019-11-02
        • 1970-01-01
        • 2012-05-09
        • 1970-01-01
        • 2014-04-19
        相关资源
        最近更新 更多