这是我的困境:
我是一个菜鸟(目前实习并帮助维护两个电子商务网站)在javascript。我最近被分配删除了我们的javascript库中发生的所有注释(超过25,000条注释!)。显然我想找到一个函数或一些可以解析代码的预先存在的程序,删除//或* / ...之后的所有字符。
我已经研究过一些在线可用的缩小器,如Yui,jscompressor.com和uglifyJS,它们可以使这项任务更加自动化,但是存在一些问题。要么它们过于激进(缩短变量名称,删除所有空格等),要么它们要求您一次输入一行或一个文件。我正在处理1000个.js文件。
其他详细信息:我们的开发环境是Eclipse IDE和xammp;语言是html,php,css。
任何符合我需求的计划建议都会很棒!
答案 0 :(得分:2)
仔细看看uglifyjs。默认情况下它既不压缩也不压缩(你必须分别给出-c和-m选项),你可以详细选择它做什么样的压缩,甚至可以指定哪种类型的正则表达式。要删除的评论。而且,如果你这么倾向的话,你甚至可以在出路上打印出来。那么使用它有什么问题呢?
答案 1 :(得分:0)
我知道这个问题已经有几年了 - 但是我找到的所有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
答案 2 :(得分:-1)
事实上,构建一个从javascript文档中删除所有注释的正则表达式并不容易。
基本解决方案是使用:
yourJavascriptString.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, '');
不幸的是,它并不总是有效。如果您需要更完整的解决方案,请访问此网站:http://james.padolsey.com/javascript/removing-comments-in-javascript/