Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用“创建js常量对象”;“依亲/相对”;价值观_Javascript_Recursion_Gruntjs_Constants - Fatal编程技术网

Javascript 如何使用“创建js常量对象”;“依亲/相对”;价值观

Javascript 如何使用“创建js常量对象”;“依亲/相对”;价值观,javascript,recursion,gruntjs,constants,Javascript,Recursion,Gruntjs,Constants,我正在从事js+php项目,希望拥有constants类,其中将存储所有代码部分的最常见值 问题是这些常量值彼此之间非常相关。 例如,假设我有源代码和测试目录。它们都是这样存储的: src/ main/ test/ 因此,正如我所说,我希望javascript中的constants对象具有以下结构: const CONSTANTS = { CODE: { CWD: 'src/', SOURCES: { DIRECTORY

我正在从事js+php项目,希望拥有constants类,其中将存储所有代码部分的最常见值

问题是这些常量值彼此之间非常相关。 例如,假设我有源代码和测试目录。它们都是这样存储的:

src/
   main/
   test/
因此,正如我所说,我希望javascript中的constants对象具有以下结构:

const CONSTANTS = {
    CODE: {
        CWD: 'src/',
        SOURCES: {
           DIRECTORY: '<%= CODE.CWD %>/src',
        },
        TESTS: {
           DIRECTORY: '<%= CODE.CWD %>/test',
        }
    }
}

exports.CONSTANTS = SomeLibraryOrSmthElse.process(CONSTANTS);
const常量={
代码:{
CWD:'src/',
资料来源:{
目录:'/src',
},
测试:{
目录:'/test',
}
}
}
exports.CONSTANTS=someLibrary或mthelse.process(常量);
正如您所注意到的,Grunt的工作方式也是一样的


我该怎么做

我只是将共享值提取为变量并重用它。以下代码使用ES2015的模板字符串文字,假设它可用,因为您已经将
const

const CWD = 'src/';
const CONSTANTS = {
    CODE: {
        CWD,
        SOURCES: {
           DIRECTORY: `${CWD}/src`,
        },
        TESTS: {
           DIRECTORY: `${CWD}/test`,
        }
    }
};
回答你的问题: