7

这是我的困境:

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

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

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

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

4

3 回答 3

2

仔细看看 uglifyjs。默认情况下,它既不压缩也不压缩(您必须分别提供 -c 和 -m 选项),并且您可以详细选择它执行的压缩类型,甚至可以指定正则表达式的级别要删除的评论。而且,如果您愿意的话,您甚至可以在外出时进行漂亮的打印。那么使用它有什么问题呢?

于 2013-02-16T14:22:53.963 回答
0

I know this question is a few years old - but all the Javascript comment strippers I found couldn't handle the 2.6mb Javascript file I was trying to strip.

I created a jsfiddle with the following code, then pasted the 2.6mb file into the textbox and it worked for me:

$("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/

Hope it helps someone.

Credit: I used information found here to help with the regular expression: http://blog.ostermiller.org/find-comment

于 2015-05-28T12:31:50.103 回答
-1

事实上,构建一个从 javascript 文档中删除所有注释的正则表达式并不容易。

基本解决方案是使用:

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

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

于 2013-02-06T17:52:19.113 回答