我正在处理js+php项目,希望有一个常量类,它将存储所有代码部分的最常见值;
问题是这些常数值彼此之间的关系非常密切。例如,让我们假设我有源代码和测试目录。它们都是这样存储的:
src/
main/
test/
所以,正如我所说,我希望在javascript中有一个常量对象,它具有以下结构:
const CONSTANTS = {
CODE: {
CWD: 'src/',
SOURCES: {
DIRECTORY: '<%= CODE.CWD %>/src',
},
TESTS: {
DIRECTORY: '<%= CODE.CWD %>/test',
}
}
}
exports.CONSTANTS = SomeLibraryOrSmthElse.process(CONSTANTS);
正如你所注意到的,格兰特也以同样的方式工作。
我该怎么做?
我只需要提取共享值作为变量并重用它。以下代码使用ES2015的模板字符串文字,假设它可用,因为您已经放置了const
。
const CWD = 'src/';
const CONSTANTS = {
CODE: {
CWD,
SOURCES: {
DIRECTORY: `${CWD}/src`,
},
TESTS: {
DIRECTORY: `${CWD}/test`,
}
}
};