我有一个JS库,它由许多构造函数组成。我正在使用grunt-concat
& -uglify
将这些文件编译成一个文件。
每个构造函数都有一个readme.md
文件。
图书馆用于制作广告横幅。大约10位开发人员使用它,他们在使用该库的文件夹Templates
中创建自己的广告模板。这些文件是.xml
个文件,这些文件还提供CDATA
标记,用于插入JavaScript代码。
我想用计数器填充readme
文件,以便开发人员可以直接在其文档中查看特定构造函数的流行程度。
出现次数(<%occurrence%>)
我可以通过执行获得出现的次数
find . -name "*.xml" -exec grep -e "new\Foo\.Bar" {} \; | wc -l
如果我能抓住这个值并将其插入readme
文件,那就太棒了。
答案 0 :(得分:0)
grunt.registerTask('count_occurrences', '', function () {
var exec = require('child_process').execSync;
var result = exec("find . -name "*.xml" -exec grep -e "new\Foo\.Bar" {} \; | wc -l", { encoding: 'utf8' });
grunt.log.writeln(result);
// Now write result to your README file
grunt.file.write("README.md", result);
});
或
您可以使用名为exec
(https://github.com/jharding/grunt-exec)的grunt插件来执行cmd行功能,例如find
。
您可能希望GruntFile.js
:
exec: {
count_occurrences: {
cmd: function() {
return 'find . -name "*.xml" -exec grep -e "new\Foo\.Bar" {} \; | wc -l';
}
}
}
然后拨打grunt exec:echo_name