在Windows下 uglify-es js代码压缩插件的安装和配置

方文锋  2021-04-09 14:55:24  2074  首页学习

最近对于 js 的代码压缩有需求,然后我在网上看到了 uglify-es 这个工具,网址为:  https://www.npmjs.com/package/uglify-es    根据文档使用了 node.js 里面的 npm 进行安装,我是用了指令:  npm install uglify-es  的,如图:





先把这个 bin 目录的路径放到环境变量 PATH 中,然后在 bin 目录下我把原先的文件 uglifyjs 备份为 uglifyjs--,同时重命名为 ug3,当然到这里,如果你使用了 git 这个软件就可以在git中输入指令使用了,但是 cmd 却不行,还得进一步,如图我添加了 ug3.cmd 这个脚本文件。

ug3.cmd 脚本文件内容为:

@ECHO off
"node"  "D:\web\get_code_node\node_modules\uglify-es\bin\ug3" %*
::node  "D:\web\get_code_node\node_modules\uglify-es\bin\ug3" %*

到这里 cmd 才可以使用指令成功 ,如图:


当我把 ug3.cmd 重命名为 ug3-.cmd 时:

cmd 的话就不行了

而是要 ug3- --help 才行

好了文件名称改回去 mg3.cmd

再试指令 ug3 --help      


cmd 能使用的话,那么就可以写个 bat 脚本来简化操作了

如图:

这个文件内容为:


echo off
@echo 当前盘符:%~d0
@echo 当前盘符和路径:%~dp0
@echo bat文件路径: %~f0
@echo 当前盘符和路径的短文件名格式:%~sdp0
@echo 当前CMD默认目录:%cd%

@set dir_path=%~dp0
@set /p file_name="请输入文件名称[值为'0'或者'exit'时代表退出]:"
@echo 输入文件名称为:%file_name%

:: “/I”选项用于开启比较过程中字符串大小写忽略功能;在命令扩展下支持的比较运算符有:“equ(等于)”、“neq(不等于)”、“lss(小于)”、“leq(小于等于)”、“gtr(大于)”、“geq(大于等于)”六种,其中“lss”、“leq”、“gtr”和“geq”四种比较操作符主要用于对数值进行比较

@if "%file_name%"=="0" (
    @echo 输入了0,退出关闭
    TIMEOUT /T 5 /NOBREAK
    exit
) else (

    @if /i %file_name% equ exit (
        @echo 输入了exit,退出关闭
        TIMEOUT /T 5 /NOBREAK
        exit
    )
)

::判断文件是否存在
@set "file_path=%dir_path%%file_name%"
@if exist %file_path%.js (
    @echo "文件 %file_path%.js 存在"
    @echo 5秒后开始压缩文件,并且重新打开新窗口
    TIMEOUT /T 5 /NOBREAK
    ::重新打开新窗口
    start "2233js代码压缩测试" cmd /k call "js代码压缩测试.bat"
    ::压缩js文件指令(前提是搭建好环境)
    ug3 %file_path%.js -m -o %file_path%.min.js
) else (
    @echo "文件 %file_path%.js 不存在,正在退出当前程序,并且重新打开新窗口"
    ::重新打开新窗口
    start "2233js代码压缩测试" cmd /k call "js代码压缩测试.bat"
    TIMEOUT /T 10 /NOBREAK
    exit
)


比如我要压缩 app.js这个文件,我点击这个目录下的 bat 文件。





到这里就算完成了。ug3.cmd 我参考的是 node.js下面的全局配置这个插件的文件 uglifyjs.cmd