[转]如何在 node.js 執行 UglifyJS 對 JavaScript 進行壓縮或美化
前一篇文章介紹了如何在 Cygwin 環境下安裝 node.js,我的原始目的只是為了要能正常執行UglifyJS 而已,原本想說在 node.js 寫的程式都是 JavaScript 應該不會有什麼問題吧,結果是目前版本的 UglifyJS 還有點小問題導致無法正常執行,解決方式也很簡單,以下是 UglifyJS 的安裝與使用說明。
下載 UglifyJS 最新版原始碼
env GIT_SSL_NO_VERIFY=true git clone https://github.com/mishoo/UglifyJS.git
備註:如果不加上 env GIT_SSL_NO_VERIFY=true 這段環境變數的話,很可能會導致 git 在 clone 原始碼的時候發生 SSL 憑證發生問題的錯誤,錯誤訊息為:error: SSL certificate problem, verify that the CA cert is OK. 如下圖示。
完整的解決辦法可參考 HTTPS github access 的解答,或執行以下指令:
- cd /usr/ssl/certs
- wget http://curl.haxx.se/ca/cacert.pem
- cat cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
- rm -f cacert.pem
- c_rehash
進入 UglifyJS 的目錄
cd UglifyJS/
測試執行 ./bin/uglifyfs
./bin/uglifyfs
在預設的原始碼之下,不管在 Linux 或 Cygwin 下都會發生 Cannot find module 'ulify-js' 的錯誤:
解決的方式有 3 種:
1. 修改 bin/uglifyjs 這支 UglifyJS 主程式,並加入程式所在的相對路徑,讓 bin/uglifyjs 在執行時能找到對應的模組。如下圖示:
2. 將 UglifyJS 所有模組都複製到 node 預設的 ~/.node_libraries 目錄下 ( 僅自己能用 )
請在 UglifyJS 所在目錄執行以下 3 行指令即可
mkdir ~/.node_libraries
cp -a lib/ ~/.node_libraries/
cp index.js ~/.node_libraries/uglify-js.js
3. 將 UglifyJS 所有模組都複製到 node 預設的 /usr/local/lib/node 目錄下 ( 讓所有使用者都能用 )
請在 UglifyJS 所在目錄執行以下 2 行指令即可
mkdir /usr/local/lib/node/uglify-js
cp -a index.js lib/ /usr/local/lib/node/uglify-js/
將 uglifyfs 主程式複製到 /usr/local/bin 目錄下
cp bin/uglifyjs /usr/local/bin/uglifyjs
UglifyJS 安裝完成!
UglifyJS 的基本使用方式
1. 壓縮 JavaScript 程式碼
uglifyjs example.js > example.min.js
2. 美化 JavaScript 程式碼
uglifyjs -b example.min.js > example.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架