通过移除空行和注释来压缩 JavaScript 代码
/ ** * Ce fichier fait partie du framework d'application Web Echo (ci-dessus / "echo /"). * Copyright (C) 2002-2009 NextApp, Inc. * * Compresse une chaîne contenant JavaScript en supprimant les commentaires et les espaces blancs. * / classe publique JavaScriptCompressor {private static final char line_feed = / '// n /'; private static final char carcaring_return = / '// r /'; private static final char espace = / '/' * * @param script La chaîne pour compresser * @return une version compressée * / public static static compress (string script) {javascriptCompressor jsc = new JavaScriptCompressor (script); return jsc.outputBuffer.toString ();} / ** texte javascript original. * / script de chaîne privée; / ** * Tampon de sortie compressé. * Ce tampon ne peut être modifié qu'en invoquant la méthode <code> append () </code> *. * / private StringBuffer OutputBuffer; / ** Position de curseur d'analyse actuel dans le texte d'origine. * / private int pos; / ** Caractère en position de curseur d'analyseur. * / Char privé ch; / ** Dernier personnage annexé au tampon. * / Char Private Lastappend; / ** Flag indiquant si la fin de Buffer a été atteinte. * / booléen privé a été endormi; / ** drapeau indiquant si le contenu a été annexé après le dernier identifiant. * / private booléen contentAPPEndAfterLasSIdentifier = true; / ** * crée une nouvelle instance <code> javascriptCompressor </code>. * * @param script * / private javaScriptCompressor (String script) {this.script = script; outputBuffer = new StringBuffer (script.length ()); nextChar (); while (! Endreached) {if (wetter.isjavaidentifierstart (ch)) {renderidentifier ();} else if (ch == / '/') {skipwifer ();} else if (ch == / ') if (iswhitespace ()) {// compress whitespaceskipwhitespace ();} else if ((ch == / '/ "/') || (ch == / '///' / ')) {// gère les chaînes renderstring ();} else if (ch == /' // ') {// gère les commentaires suivants (); NextChar (); LASTAPPET = CH; * / private void NextChar (if (! CH); (ch == line_feed) || (ch == CARRIETY_RETURN) || (Errôlé)) {// Erreur JavaScript: chaîne non terminée;} else {if (ch == / ' JavaScript Error: String non terminée; Line_feed)) {if (endreached) {return;} nextchar (); } else NextChar ();}} / ** * Rend un nouveau caractère de ligne, fourni le caractère précédemment rendu * n'est pas une nouvelle ligne. * / privé void skipwhitespace () {if (ch == line_feed || ch == CARRIEY_RETURN) {Rendernewline (); {RenderNewline ();} NextChar ();总结
以上就是本文关于通过 java 压缩 javascript 代码实例分享的全部内容 , 希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题 , 如有不足之处 , 欢迎留言指出。感谢朋友们对本站的支持!