添加要在节点模块之间使用的常量

时间:2016-10-06 08:16:03

标签: javascript node.js

我有一个constants.js文件我正在使用我的节点应用程序,内容是导出列表,如下所示:

exports.SESSION_COOKIE_NAME = 'myapp.sid';
exports.SESSION_STORE_DB_PATH = 'mongodb://someip:someport';
exports.API_GATEWAY_URL = 'http://someurl:someport';

所以我可以在其他文件中包含我的constants.js文件并轻松引用这些属性:

var consts = require('../constants.js');

module.exports.something = function() {
    var tokenUrl = consts.API_GATEWAY_URL;
}

我想在我的constants.js文件中也有一些状态枚举,如下所示:

exports.STATUS = {
    DRAFT: 'DRAFT',
    LIVE: 'LIVE',
    EXPIRED: 'EXPIRED'
};

但我想知道这是否真的是存储常量的最佳方式。

还有其他方法吗?如何使用const并将其添加到全局范围?

1 个答案:

答案 0 :(得分:1)

就像评论中提到的那样,除了其中一些看起来更像是配置设置而不是常量。你也可以简化你的出口。

而不是有很多出口。*,

module.exports = {
   SESSION_COOKIE_NAME: 'myapp.sid',
   SESSION_STORE_DB_PATH: 'mongodb://someip:someport',
   API_GATEWAY_URL: 'http://someurl:someport',
   STATUS: {
      DRAFT: 'DRAFT',
      LIVE: 'LIVE',
      EXPIRED: 'EXPIRED'
   }
};