簡體   English   中英

JavaScript:在另一個屬性中使用對象的屬性嗎?

[英]JavaScript: Using an object's property in another property?

在我的Grunt構建腳本中,我有一個保存大部分路徑的對象,如下所示:

var project_config = {
    project_paths: {
        build: 'assets/css',
        docs: 'docs',
        src_scss: 'src/scss/**/*.scss',
        yaml: grunt.file.readYAML('docs/config.yml')
    }
};

如您所見,可以在“ yaml”中再次找到docs ,因為它只是一條路徑。

如何在yaml使用docs

這樣做是行不通的,可能是因為對象無法訪問自身:

var project_config = {
    project_paths: {
        build: 'assets/css',
        docs: 'docs',
        src_scss: 'src/scss/**/*.scss',
        yaml: grunt.file.readYAML(docs+'/config.yml')
    }
};

使用Grunt模板也不起作用: yaml: grunt.file.readYAML('<%= project_paths.docs %>/config.yml')

目前,您想訪問路徑,Grunt尚未處理配置對象。 您可以使用grunt.template.process “手動”處理模板字符串:

var project_config = {
    project_paths: {
        build: 'assets/css',
        docs: 'docs',
        src_scss: 'src/scss/**/*.scss'
    }
};
project_config.project_paths.yaml = grunt.file.readYAML(
    grunt.template.process(
        '<%= project_paths.docs %>/config.yml',
        {data: project_config}
    )
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM