[英]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.