javascript定义一个常量全局

时间:2016-03-27 19:41:45

标签: javascript node.js

在我的项目中,我在数组中编码一些信息。数字0代表一件事,数字134代表另一件事,依此类推。一些不同的模块使用这些数字。为了提高可读性,我在模块的头部定义了一些,但这对将来的变化非常烦人。

我希望有类似的东西:

 - constants -

   module.exports = function(){
      global var Bulding = 0;
      global var Tree = 1;
      ...}

 - some module -

 require('./constants')();
 <some code...>      
 if(arr[i] == Tree){
    <do things>
 }

这可能吗?甚至更好的是有javascript / nodejs这样做的方法吗?

1 个答案:

答案 0 :(得分:3)

您应该将其导出为具有属性的普通对象:

module.exports = {
    building: 0,
    tree: 1,
    ...
};

// Elsewhere:

var constants = require('./constants');
constants.tree;

为了增加保护,您可以使用Object.freeze()来防止常量被更改。