希望从大量javascript文件中删除注释

希望从大量javascript文件中删除注释,javascript,comments,minify,Javascript,Comments,Minify,这是我的难题: 我是javascript的noob(目前在实习并帮助维护两个电子商务网站)。我最近被指派删除javascript库中出现的所有注释(超过25000条注释!)。显然,我想找到一个函数或一些预先存在的程序,可以解析代码,删除//或*/后面的所有字符 我已经研究了一些在线可用的迷你程序,如Yui、jscompressor.com和uglifyJS,它们将使这项任务更加自动化,但存在一些问题。要么它们过于激进(缩短变量名、删除所有空格等),要么它们要求您一次只输入一行或一个文件。我正在处

这是我的难题:

我是javascript的noob(目前在实习并帮助维护两个电子商务网站)。我最近被指派删除javascript库中出现的所有注释(超过25000条注释!)。显然,我想找到一个函数或一些预先存在的程序,可以解析代码,删除//或*/后面的所有字符

我已经研究了一些在线可用的迷你程序,如Yui、jscompressor.com和uglifyJS,它们将使这项任务更加自动化,但存在一些问题。要么它们过于激进(缩短变量名、删除所有空格等),要么它们要求您一次只输入一行或一个文件。我正在处理1000个.js文件

附加细节:我们的开发环境是EclipseIDE和xammp;语言有html、php、css


任何能满足我需求的计划建议都会很棒

事实上,构建一个从javascript文档中删除所有注释的regexp并不是那么容易

基本解决方案是使用:

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

不幸的是,它并不总是有效的。如果您需要更完整的解决方案,请访问此网站:

仔细查看uglifyjs。默认情况下,它既不压缩也不使用munges(您必须分别提供-c和-m选项),您可以详细选择它执行的压缩类型,甚至可以指定正则表达式以删除哪种注释。而且,如果你愿意的话,你甚至可以在出去的路上留下漂亮的图案。那么使用它有什么问题呢?

我知道这个问题已经有几年了,但是我找到的所有Javascript注释剥离器都无法处理我试图剥离的2.6mb Javascript文件

我用以下代码创建了一个JSFIDLE,然后将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

希望它能帮助别人


信用证:我使用这里找到的信息来帮助正则表达式:

你到底为什么要删除注释而不是缩小?嗯。可以为行尾编写一个reg-ex脚本吗。PERL肯定可以做到这一点(我认为)。我应该为你做这件事。。js和css在线上还有很多其他的迷你程序。保留带有缩进和注释的原始文件并缩小即将投入生产的文件是一种很好的做法;简单的脚本处理这个问题。YUI似乎有一个
--nomunge
选项来禁用模糊处理。它们还有
——禁用优化
,以避免其他代码更改。结果仍然会缩小,但也许您可以运行结果来恢复缩进。