我想使用grunt-hash插件重命名我的js文件。 此插件创建一个包含重命名文件映射的新文件:
hash: {
options: {
mapping: 'examples/assets.json', //mapping file so your server can serve the right files
现在我需要通过替换所有用法来修复此文件的链接(重命名' index.js' index- {hash} .js')所以我想使用{ {3}}插件。 根据文档,我需要配置替换:
replace: {
example: {
replacements: [{
from: 'Red', // string replacement
to: 'Blue'
}]
}
}
我怎样才能读取json映射文件以获取每个文件的{hash}值并提供它们来替换任务?
答案 0 :(得分:25)
grunt.file.readJSON('your-file.json')
可能就是你要找的东西。
我已经设置了一点测试。我有一个简单的JSON文件' mapping.json',它包含以下JSON对象:
{
"mapping": [
{"file": "foo.txt"},
{"file": "bar.txt"}
]
}
在我的Gruntfile.js中,我编写了以下简单的测试任务,该任务读取'映射' -array中的第一个对象:
grunt.registerTask('doStuff', 'do some stuff.', function() {
mapping = grunt.file.readJSON('mapping.json');
grunt.log.write(mapping.mapping[0]["file"]).ok();
});
调用Grunt任务时,控制台输出如下:
$ grunt doStuff
Running "doStuff" task
foo.txtOK
Done, without errors.
我希望这有帮助! :)