Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie UglifyJS zum Komprimieren und Zusammenführen von JS-Dateien unter dem Knoten

So verwenden Sie UglifyJS zum Komprimieren und Zusammenführen von JS-Dateien unter dem Knoten

小云云
小云云Original
2018-03-09 09:36:171507Durchsuche

In diesem Artikel erfahren Sie hauptsächlich, wie Sie UglifyJS zum Komprimieren und Zusammenführen von JS-Dateien unter dem Knoten verwenden. Die neueste Version von UglifyJS ist jetzt die JS-Komprimierung und das Zusammenführen.

Installation:

<span style="font-size:18px;color:#006600;">npm install uglify-js -g</span>

Installieren Sie uglifyjs als globale Variable, damit wir es überall verwenden können.

<span style="color:#006600;">下面是shell命令的中文解释:
* source-map [string],生成source map文件。
* –source-map-root [string], 指定生成source map的源文件位置。
* –source-map-url [string], 指定source map的网站访问地址。
* –source-map-include-sources,设置源文件被包含到source map中。
* –in-source-map,自定义source map,用于其他工具生成的source map。
* –screw-ie8, 用于生成完全兼容IE6-8的代码。
* –expr, 解析一个表达式或JSON。
* -p, –prefix [string], 跳过原始文件名的前缀部分,用于指定源文件、source map和输出文件的相对路径。
* -o, –output [string], 输出到文件。
* -b, –beautify [string], 输出带格式化的文件。
* -m, –mangle [string], 输出变量名替换后的文件。
* -r, –reserved [string], 保留变量名,排除mangle过程。
* -c, –compress [string], 输出压缩后的文件。
* -d, –define [string], 全局定义。
* -e, –enclose [string], 把所有代码合并到一个函数中,并提供一个可配置的参数列表。
* –comments [string], 增加注释参数,如@license、@preserve。
* –preamble [string], 增加注释描述。
* –stats, 显示运行状态。
* –acorn, 用Acorn做解析。
* –spidermonkey, 解析SpiderMonkey格式的文件,如JSON。
* –self, 把UglifyJS2做为依赖库一起打包。
* –wrap, 把所有代码合并到一个函数中。
* –export-all, 和–wrap一起使用,自动输出到全局环境。
* –lint, 显示环境的异常信息。
* -v, –verbose, 打印运行日志详细。
* -V, –version, 打印版本号。
* –noerr, 忽略错误命令行参数。</span>

# So verwenden Sie UglifyJS2

> Es gibt zwei Möglichkeiten, UglifyJS2 zu verwenden

2

Shell-Befehl:

Führen Sie die beiden JS-Dateien start.js und test.js zusammen und komprimieren Sie sie

~> uglifyjs start.js test.js -o new.min .js --source-map new.min.js.map

API-Aufruf:

Eine grundlegende Kernmethode zum Minimieren oben, schauen wir uns diese Methode separat an
var fs = require('fs');
var uglifyjs = require("uglify-js");
var result = uglifyjs.minify("../test.js",{
 mangle:false
});

Dies ist eine sehr intelligente Methode mit insgesamt 2 Parametern

Der erste Parameter*

Der erste Parameter kann eine Zeichenfolge, ein Pfad oder ein Pfadarray sein;

1. Der String-Parameter

ist der von uns geschriebene Javascript-Code. Er kann direkt als String-Parameter-Parameterfunktion verwendet werden, es muss jedoch ein zweiter Parameter vorhanden sein, der der Funktion mitteilt, dass dies der Javascript-Quellcode-String ist

Der erste Parameter oben wird im Javascript-Quellcode übergeben, und der zweite Parameter formString: true teilt der Minify-Funktion mit, dass der vorherige Parameter der Javascript-Quellcode ist, der komprimiert werden muss.
var result = uglifyjs.minify("var fun=function(){ alert('itKingOne博客');};",{
 mangle:false,
 fromString:true,
});

String-Pfad

Dies ist eine von der Funktion standardmäßig unterstützte Methode. Sie können einem zu komprimierenden JavaScript-Dateipfad direkt einen einzelnen Parameter zuweisen.

Die obige Funktion wird ausgeführt, ich werde die test.js in meinem übergeordneten Verzeichnis komprimieren. Wenn ein Parameter standardmäßig verwendet wird, gibt er den Dateipfad an
var result = uglifyjs.minify("../test.js");

Das Array gibt mehrere an Pfade

können einen Parameter haben, aber dieser Parameter ist ein Array ['Pfad 1', 'Pfad 2', 'Pfad 3']. Ähnlich ist das Ergebnis, dass das gesamte Javascript im obigen Pfad vorhanden ist Komprimiert und an das Ergebnisobjekt zurückgegeben. Später werden wir separat über den Ergebnisrückgabewert sprechen ) Gibt an, dass es sich bei der Zeichenfolge im ersten Parameter um Javascript-Quellcode handelt.

Mangle-Attribut ist standardmäßig „true“; wenn es als „false“ angegeben wird, bedeutet dies, dass keine verschleierte Komprimierung durchgeführt wird. Zeilen-Len-Attribute folgen den Anweisungen, hier sollte sich auf die Länge der komprimierten Datei beziehen.

var result = uglifyjs.minify([ "../test.js", "../mian.js"]);
outSourceMap-Attribut wird verwendet, um den Wert des Dateiattributs anzugeben, nachdem der Funktionsrückgabewert result.map string in Object konvertiert wurde

Das Attribut „sourceRoot“ wird verwendet, um den Wert des Attributs „sourceRoot“ anzugeben, nachdem der Funktionsrückgabewert result.map string in ein Objekt konvertiert wurde.

Rückgabewert result *

Die Rückgabe value result ist ein Objekt. Das Codeattribut entspricht dem komprimierten Skript

Verwandte Empfehlungen:

JS JSON-Objektinstanzen zusammenführen

PHP-Beispiel für das Zusammenführen von JS-Anfragen_PHP-Tutorial

{"code":"这里是压缩后的 javascript 脚本","map":null}


PHP-Beispiel für das Zusammenführen von JS-Anfragen_PHP

Das obige ist der detaillierte Inhalt vonSo verwenden Sie UglifyJS zum Komprimieren und Zusammenführen von JS-Dateien unter dem Knoten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn