我对咕噜声很陌生,实际上只有几个小时。我正在设置 grunt 以使用 grunt-cache-breaker 缓存破坏我的网站。现在,当我手动输入每个文件源示例时,我已经让它工作了:
grunt.initConfig({
cachebreaker: {
dev: {
options: {
match: ['.js', '.css', 'min.css'],
src: {
path: 'TEST/Apps/**/*'
}
},
files: {
src: ['TEST/Apps/AppTemplate/v1.0.0/index.html',
'TEST/Apps/Case_Attributes/v1.0.0/index.html',
'TEST/Apps/Case_CorrespondenceReferences/v1.0.0/index.html',
',
]
}
},
},
}(;
但是,我真正想做的是能够从预生成的文本文件中有问题地构建 files.src 列表,如下所示:
grunt.initConfig({
cachebreaker: {
dev: {
options: {
match: ['.js', '.css', 'min.css'],
src: {
path: 'TEST/Apps/**/*'
}
},
files: {
src: function (){
return grunt.file.read('config.txt')
}
}
},
},
}(;
或与此相关的内容。这可能吗?还是我完全偏离了目标?
又玩了几个小时后,我想出了这个解决方案:
module.exports = function(grunt) {
grunt.initConfig({
config: grunt.file.readJSON('config.json'),
cachebreaker: {
dev: {
options: {
match: ['.js', '.css', 'min.css'],
src: {
path: 'TEST/Apps/**/*'
}
},
files: {
src: ['<%= config %>'],
}
},
},
});
grunt.loadNpmTasks('grunt-cache-breaker');
grunt.registerTask('default', ['cachebreaker']);
};
一种不同且非常通用的方法是在运行时生成任务参数。假设您将文件名列表加载到数组 list
中。拨打grunt.initConfig()
后,您可以执行以下操作:
grunt.config.merge({
cachebreaker: {
dev: {
files: { src: list }
}
}
}),
也就是说,使用所需的这些其他属性更新配置对象。