Coffeescript和nodeJS中的常量

时间:2014-11-08 01:53:34

标签: javascript node.js oop coffeescript

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

3 个答案:

答案 0 :(得分:1)

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

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

当你不能创建它的许多实例时,不需要课程。您也可以根据需要将它们设置为模块级变量或类静态成员(@MAX_CONNECTIONS = 32)签署coffeescript类定义。

答案 1 :(得分:1)

有趣的是,我曾经使用过

constants.coffee

module.value'SOME_CONSTANT','someConstantValue'

仅适用于有时需要的常量。我认为上述解决方案之间的区别在于此解决方案需要依赖注入才能使用它。

答案 2 :(得分:0)

也许我错过了什么,但我只是用过这个:

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