日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript编译压缩

發布時間:2025/3/8 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript编译压缩 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

javascript編譯

js是JavaScript 源碼文件, .min.js是壓縮版的js文件。
.min.js文件經過壓縮,相對編譯前的js文件體積較小,傳輸效率快。經過編碼將變量和函數原命名改為毫無意義的命名,以防止他人窺視和竊取 js 源代碼

在線版

github

安裝

npm install uglify-js -g

編譯源碼

uglifyjs Three.es.js -c --toplevel -o Three.es.min.js

選項

-h, --help 列出使用指南。`--help options` 獲取可用選項的詳情。-V, --version 打印版本號。-p, --parse <options> 指定解析器配置選項:`acorn` 使用 Acorn 來解析。`bare_returns` 允許在函數外return。在壓縮CommonJS模塊或`.user.js `引擎調用被同步執行函數包裹的用戶腳本 時會用到。`expression` 不是解析文件,二是解析一段表達式 (例如解析JSON).`spidermonkey` 輸入文件是 SpiderMonkeyAST 格式 (JSON).-c, --compress [options] 啟用壓縮(true/false)/指定壓縮配置:`pure_funcs` 傳一個函數名的列表,當這些函數返回值沒被利用時,該函數會被安全移除。-m, --mangle [options] 啟用混淆(true/false)/指定混淆配置:`reserved` 不被混淆的名字列表。--mangle-props [options] 混淆屬性/指定壓縮配置:`builtins` 混淆那些與標準JS全局變量重復的名字。`debug` 添加debug前綴和后綴。`domprops` 混淆那些魚DOM屬性名重復的名字。`keep_quoted` 只混淆沒括起來的屬性名。`regex` 只混淆匹配(該正則)的名字。`reserved` 不需要混淆的名字的列表(即保留)。-b, --beautify [options] 是否美化輸出(true/false)/指定輸出配置:`beautify` 默認是啟用.`preamble` 預設的輸出文件頭部。你可以插入一段注釋,比如版權信息。它不會被解析,但sourcemap會因此調整。`quote_style` 括號類型:0 - auto自動1 - single單引號2 - double雙引號3 - original跟隨原碼`wrap_iife` 把立即執行函數括起來。注意:你或許應禁用壓縮配置中的`negate_iife`選項。 -o, --output <file> 輸出文件路徑 (默認 STDOUT). 指定 `ast` 或`spidermonkey`的話分別是輸出UglifyJS或SpiderMonkey AST。--comments [filter] 保留版權注釋。默認像Google Closure那樣,保留包含"@license"或"@preserve"這樣JSDoc風格的注釋。你可以傳以下的參數:- "all" 保留全部注釋- 一個合適的正則,如 `/foo/` 或 `/^!/`,保留匹配到的注釋。 注意,在啟用壓縮時,因為死代碼被移除或壓縮聲明為一行,并非*所有*的注釋都會被保留。--config-file <file> 從此JSON文件讀取 `minify()` 配置。-d, --define <expr>[=value] 定義全局變量。--ie8 支持IE8。等同于在`minify()`的`compress`、 `mangle` 和 `output`配置設置`ie8: true`。UglifyJS不會默認兼容IE8。--keep-fnames 不要混淆、干掉的函數的名字。當代碼依賴Function.prototype.name時有用。--name-cache <file> 用來保存混淆map的文件。--self 把UglifyJS本身也構建成一個依賴包(等同于`--wrap UglifyJS`)--source-map [options] 啟用 source map(true/false)/指定sourcemap配置:`base` 根路徑,用于計算輸入文件的相對路徑。`content` 輸入sourcemap。假如的你要編譯的JS是另外的源碼編譯出來的。假如該sourcemap包含在js內,請指定"inline"。 `filename` 輸出文件的名字或位置。`includeSources` 如果你要在sourcemap中加上源文件的內容作sourcesContent屬性,就傳這個參數吧。`root` 此路徑中的源碼編譯后會產生sourcemap.`url` 如果指定此值,會添加sourcemap相對路徑在`//#sourceMappingURL`中。--timings 在STDERR顯示操作運行時間。--toplevel 壓縮/混淆在最高作用域中聲明的變量名。--verbose 打印診斷信息。--warn 打印警告信息。--wrap <name> 把所有代碼包裹在一個大函數中。讓“exports”和“global”變量有效。你需要傳一個參數來指定此模塊的名字,以便瀏覽器引用。

參考文檔

UglifyJS3中文文檔

總結

以上是生活随笔為你收集整理的javascript编译压缩的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。