Maison  >  Article  >  interface Web  >  Comment utiliser UglifyJS pour compresser et fusionner des fichiers JS sous nœud

Comment utiliser UglifyJS pour compresser et fusionner des fichiers JS sous nœud

亚连
亚连original
2018-05-31 17:47:131575parcourir

Ci-dessous, je vais partager avec vous une méthode d'utilisation d'UglifyJS pour compresser et fusionner des fichiers JS sous nœud. Elle a une bonne valeur de référence et j'espère qu'elle sera utile à tout le monde.

La dernière version d'UglifyJS est désormais la 2.8.13. Sa fonction principale est la compression et la fusion JS. Accédez directement au tutoriel ci-dessous :

Installation : .

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

Installez uglifyjs en tant que variable globale afin que nous puissions l'utiliser n'importe où.

<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>

# Comment utiliser UglifyJS2

> types Méthode

1. Appel de commande Shell

2. Appel d'API

commande Shell :

Fusionner et compresser start.js. , test .js Ces deux fichiers JS

~> 🎜 >Appel API :

var fs = require(&#39;fs&#39;);
var uglifyjs = require("uglify-js");
var result = uglifyjs.minify("../test.js",{
 mangle:false
});
Une méthode de base de base minify ci-dessus, regardons cette méthode séparément

This It est une méthode très intelligente avec un total de 2 paramètres

Premier paramètre*

Le premier paramètre peut être une chaîne, un chemin ou un tableau de chemins

1. Paramètre de chaîne

est le code javascript que nous écrivons. Il peut être directement utilisé comme fonction de paramètre de paramètre de chaîne, mais il doit y avoir un deuxième paramètre pour indiquer la fonction. Il s'agit d'une chaîne source javascript

var result = uglifyjs.minify("var fun=function(){ alert(&#39;itKingOne博客&#39;);};",{
 mangle:false,
 fromString:true,
});
Le premier paramètre ci-dessus est passé dans le code source javascript, et le deuxième paramètre formString: true sert à indiquer la minification function, Le paramètre précédent est le code source javascript qui doit être compressé

Chemin de la chaîne

Il s'agit d'une méthode prise en charge par la fonction par défaut, et peut être. donné directement en paramètre séparé Un chemin de fichier javascript qui doit être compressé, bien sûr il peut aussi avoir 2 paramètres

var result = uglifyjs.minify("../test.js");
La fonction ci-dessus est. exécuté et le test dans mon répertoire parent .js est compressé Lorsqu'un paramètre est utilisé par défaut, il indique le chemin du fichier

Le tableau spécifie plusieurs chemins. 🎜> peut avoir un paramètre, mais ce paramètre est un tableau [ 'Path 1', 'Path 2', 'Path 3'] De la même manière, le résultat est que tout le javascript du chemin ci-dessus est compressé et renvoyé au objet de résultat. Plus tard, nous parlerons de la valeur de retour du résultat séparément

Deuxième paramètre*

var result = uglifyjs.minify([ "../test.js", "../mian.js"]);
Description du paramètre<.>

L'attribut romString (par défaut false) spécifie les caractères dans le premier paramètre. La chaîne est du code source javascript. L'attribut

mangle est par défaut true lorsqu'il est spécifié comme false, cela signifie qu'il n'y a pas d'obscurcissement. et compression. Les attributs

width et max-line-len doivent faire référence à ceux compressés selon les instructions. La longueur de l'attribut file

outSourceMap est utilisée pour spécifier la valeur de retour de la fonction. La chaîne result.map est convertie en la valeur de l'attribut de fichier après avoir été convertie en Object

L'attribut sourceRoot est utilisé pour spécifier la valeur de retour de la fonction conversion de chaîne result.map Après avoir été la valeur de l'attribut sourceRoot de Objet

résultat de la valeur de retour *

le résultat de la valeur de retour est un objet. L'attribut code correspond au script compressé

Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

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

L'applet WeChat implémente la fonction de changement de skin

nodejs implémente la méthode d'analyse de la chaîne XML dans l'objet Exemple


Explication détaillée de la gestion des droits utilisateur de nodejs acl



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn