在我的项目中,我在数组中编码一些信息。数字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这样做的方法吗?
答案 0 :(得分:3)
您应该将其导出为具有属性的普通对象:
module.exports = {
building: 0,
tree: 1,
...
};
// Elsewhere:
var constants = require('./constants');
constants.tree;
为了增加保护,您可以使用Object.freeze()
来防止常量被更改。