展望从大量的JavaScript文件删除评论(Looking to remove comments

2019-09-16 23:21发布

这里是我的dilemna:

我是一个小白(目前实习,并帮助维护两个电子商务网站)的JavaScript的。 最近,我分配到删除所有发生在我们的JavaScript库的意见(这是超过25,000评论!)。 很显然,我希望找到一个函数或一些可以通过代码分析预存程序,删除所有字符以下//或* / ...

我已经调查了一些minifiers网上提供如衣,jscompressor.com和uglifyJS这将使这一任务更加自动化,但也有一些问题。 他们要么是过于激进(缩短变量名,删除所有空格等),或者它们需要你喂一行或一次一个文件。 我处理的.js文件字面上1000。

其他细节:我们的开发环境是Eclipse IDE和XAMMP; 语言是HTML,PHP,CSS。

能适合我的需要程序的任何建议将是巨大的!

Answer 1:

快来看看uglifyjs仔细看看。 它既不压缩也不默认munges(你必须给-c和-m选项,分别),并可以在精致的细节它做什么类型的压缩中进行选择,甚至可以指定什么类型的正则表达式的水平评论删除。 而且,你甚至可以漂亮的方式打印出来,如果你是这样的倾向。 那么,什么是使用它的问题呢?



Answer 2:

我知道这个问题是几年的历史 - 但所有的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



Answer 3:

事实上,这不是那么容易建立一个正则表达式,可以消除一个JavaScript文档中的所有评论。

基本的解决方案是使用:

     yourJavascriptString.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, '');

遗憾的是它并不总是有效。 如果你需要一个更完整的解决方案,请访问网站: http://james.padolsey.com/javascript/removing-comments-in-javascript/



文章来源: Looking to remove comments from a large amount of javascript files