自动删除javascript中的logging语句

来源:互联网 发布:virtualbox安装mac镜像 编辑:程序博客网 时间:2024/05/01 23:12

 

原文地址:http://www.javaarch.net/jiagoushi/744.htm

 

自动删除javascript中的logging语句一般在测试环境中我们会加上很多console.log来帮助调试,但是发布到生产环境肯定是要删除掉的。我们可以使用groundskeeper (GitHub: github.com/Couto/groundskeeper)(用node.js写) 这个工具来删除javascript中的console.log语句。比如我们有下面这段js:function filter(list, age) {  var result = [];  list.forEach(function (person) {if (person.name && person.age > age) {  console.log('including', person.name);  result.push(person);}  });  return result;}我们安装完groundskeeper之后,使用groundskeeper < filter-debug.js > filter.js那上面那段js变成:只是把console.log变成一个空行,方便svn的比较function filter(list, age) {  var result = [];  list.forEach(function (person) {if (person.name && person.age > age) {   result.push(person);}  });  return result;}这个工具还可以跟git pre-commit hook( http://ariya.ofilabs.com/2012/03/git-pre-commit-hook-and-smoke-testing.html)集成,那么就不需要人工操作了,只要git commit的时候任何js文件就会过滤掉。files=$(git diff-index --name-only --diff-filter=ACM HEAD | grep -P '\.js$')for file in $files; do  groundskeeper < $file > $file.tmp && mv $file.tmp $filedone