自动删除javascript中的logging语句
原文地址: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 $file done