我正在尝试创建一个包含所有常量的文件。
这是我的constants.js模块:
module.exports.TRIP_STATUS = Object.freeze({
TRIP_STAUTS_INITIATED : 1000,
TRIP_STAUTS_PENDING_PRE_INSP : 1001,
TRIP_STAUTS_ACTIVE : 1002,
TRIP_STAUTS_PENDING_POST_INSP : 1003,
TRIP_STAUTS_DONE : 1004,
TRIP_STAUTS_UNKNOWN : 1005
});
在我的主index.js中,我正在尝试做类似
的事情var Constants = require('constants');
console.log(Constants.TRIP_STAUTS_INITIATED);
然而它没有阅读枚举。
我的代码出了什么问题?
答案 0 :(得分:5)
将常量对象写入TRIP_STATUS对象。所以,你可以通过下一个方式获得它们:
console.log(Constants.TRIP_STATUS.TRIP_STAUTS_INITIATED);
或者,您可以采用下一种方式:
module.exports = {
TRIP_STAUTS_INITIATED : 1000,
...
}
并根据需要获取常量:
console.log(Constants.TRIP_STAUTS_INITIATED);
答案 1 :(得分:2)
constants
是Node.js的本机模块,如fs
,http
,因此require("constants")
只会输出本机常量。如果你想导入你的本地constant.js,你应该require("./constants")
(ABSOLUTE PATH NOT RELATIVE ONE)。
答案 2 :(得分:0)
提供更多细节:
您正在导入整个导出对象
var Constants = require('constants')
您需要做的是仅导入您尝试引用的部分作为常量对象
var Constants = require('constants'). TRIP_STATUS;
这是因为你导出它的方式
module.exports.TRIP_STATUS = Object.freeze
您正在导出属性TRIP_STATUS
下的常量对象或者您可以通过引用对象属性
来引用它而不更改导入/导出 Constants.TRIP_STAUTS.
+期望的常数
答案 3 :(得分:0)
现代语法是:
strings.js
export default {
errorMsg1 : '.................',
errorMsg2 : '.................'
}
other.js
import strings from '../../util/strings'
console.log(errorMsg1)