javascript定义一个全局常量

标签 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 方法可以做到这一点吗?

最佳答案

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

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

// Elsewhere:

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

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

关于javascript定义一个全局常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36251790/

相关文章:

javascript - 计时特定的 fetch 调用

javascript - 如何获取附件的 URL 并将其发布到控制台 Discord.js 中?

javascript - 防止 Node.js 中的 SQL 注入(inject)

node.js - nodemon 无法正常工作

javascript - 添加绝对超链接 URL

javascript - 在 IE9 中实现 Ajax.org ACE 编辑器

javascript - 如何在 NodeJS/Javascript 中进行长轮询?

javascript - 如何使菜单不可点击但可悬停?

node.js - 不要在 querystring stringify 中编码 url

node.js - Express JS hello world 示例中出现意外的 Token 错误