Coffeescript和nodeJS中的常量

Constants in Coffeescript and nodeJS

本文关键字:常量 nodeJS Coffeescript      更新时间:2023-09-26

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

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

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

当你不需要创建一个类的很多实例时,就不需要它了。你也可以根据需要将它们设置为模块级变量或类静态成员(@MAX_CONNECTIONS = 32)登录coffeescript类定义)。

有趣的是,我曾经使用

康斯坦茨咖啡

module.value"SOME_CONSTANT","someConstantValue"

用于仅在偶尔需要的常量。我认为上面的解决方案的区别在于,这个解决方案需要注入依赖项才能使用。

也许我遗漏了什么,但我只是用了这个:

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