繁体   English   中英

希望从大量的javascript文件中删除评论

[英]Looking to remove comments from a large amount of javascript files

这是我的困境:

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

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

其他细节:我们的开发环境是Eclipse IDE和xammp; 语言是html,php,css。

任何能满足我需求的程序建议都会很棒!

仔细看看uglifyjs。 默认情况下它既不压缩也不压缩(你必须分别给出-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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM