最近对于 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