这里是我的dilemna:
我是一个小白(目前实习,并帮助维护两个电子商务网站)的JavaScript的。 最近,我分配到删除所有发生在我们的JavaScript库的意见(这是超过25,000评论!)。 很显然,我希望找到一个函数或一些可以通过代码分析预存程序,删除所有字符以下//或* / ...
我已经调查了一些minifiers网上提供如衣,jscompressor.com和uglifyJS这将使这一任务更加自动化,但也有一些问题。 他们要么是过于激进(缩短变量名,删除所有空格等),或者它们需要你喂一行或一次一个文件。 我处理的.js文件字面上1000。
其他细节:我们的开发环境是Eclipse IDE和XAMMP; 语言是HTML,PHP,CSS。
能适合我的需要程序的任何建议将是巨大的!
快来看看uglifyjs仔细看看。 它既不压缩也不默认munges(你必须给-c和-m选项,分别),并可以在精致的细节它做什么类型的压缩中进行选择,甚至可以指定什么类型的正则表达式的水平评论删除。 而且,你甚至可以漂亮的方式打印出来,如果你是这样的倾向。 那么,什么是使用它的问题呢?
我知道这个问题是几年的历史 - 但所有的JavaScript注释脱衣舞娘,我发现不能处理我试图剥离2.6MB JavaScript文件。
我创建了下面的代码的jsfiddle,然后粘贴2.6MB文件到文本框和它的工作对我来说:
$("textarea").val($("textarea").val().replace(/\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\//g,"")); /*remove these comment types*/
$("textarea").val($("textarea").val().replace(/\/\/.*/g,"")); // remove these comment types
https://jsfiddle.net/40okonqo/
希望它可以帮助别人。
信用:我以前在这里找到帮助正则表达式的信息: http://blog.ostermiller.org/find-comment
事实上,这不是那么容易建立一个正则表达式,可以消除一个JavaScript文档中的所有评论。
基本的解决方案是使用:
yourJavascriptString.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, '');
遗憾的是它并不总是有效。 如果你需要一个更完整的解决方案,请访问网站: http://james.padolsey.com/javascript/removing-comments-in-javascript/