在我的Grunt构建脚本中,我有一个包含大部分路径的对象,如下所示:
var project_config = {
project_paths: {
build: 'assets/css',
docs: 'docs',
src_scss: 'src/scss/**/*.scss',
yaml: grunt.file.readYAML('docs/config.yml')
}
};
如您所见,docs
可以在' yaml'中再次找到,因为它只是一条路径。
如何在docs
中使用yaml
?
这样做并不起作用,可能是因为该对象无法自行访问:
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')
答案 0 :(得分:1)
当你想要访问路径时,Grunt还没有处理配置对象。您可以手动处理模板字符串&#34;#34;与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}
)
);