rjs 合併壓縮完 js 後 js 不壓縮的問題

2021-09-07 13:21:05 字數 802 閱讀 9751

線下用 requirejs 開發完後,**上線前要用 rjs 將多個有依賴關係的 js 檔案壓成乙個,然後某天居然發現壓成乙個的 js 檔案,沒有壓縮!!!幾萬行的 js!!!

很顯然,是 uglify 沒有生效,為何沒有生效?一開始以為是模組沒有按照 amd 規範來寫,後來排除,逐個模組逐行**排查之後查到居然是用了一行 es6 的語法的原因

事情到這,應該是和 rjs 沒啥關係了,我猜 uglify 目前只能壓縮 babel 後的 es5 **,待確認。

其實這個事情也讓我學習到分析問題的重要性,比如一開始我想的是 gulpfile 檔案是否寫錯,然後把鍋又甩到了 rjs 上,最後根據 git 提交才意識到可能是 uglify 的問題。其實一開始就應該想到是 uglify 的問題(沒有醜化**),從而不要去研究 gulpfile 和 rjs,然後去搜尋什麼情況下 uglify 不生效。

嗯,ugiify 目前只支援 es5 的壓縮。

note: release versions of uglify-js only support ecmascript 5 (es5). if you wish to minify es2015+ (es6+) code then please use the harmony development branch

2018.7.12 今天又出現了這個問題,全域性 build 後,有兩個檔案沒有壓縮,馬上想到是**中混入了 es6 的問題,開始定位,最後定位到有個檔案修改後直接引用了,而沒有 6to5,而其他檔案都有 6to5 的操作

js關於html載入完後執行事件的常見寫法

除非真是有這樣的需求 等待頁面的樣式表 子幀 subframes 都載入完畢,否則沒必要使用load事件,相反使用domcontentloaded更合適些。window.onload function 或者 window.addeventlistener load function domconte...

前端js和css的壓縮合併之grunt

package.json放在根目錄 例如 c users 123 下,它包含了該項目的一些元資訊,如專案名稱 描述 版本號,外掛程式等。grunt contrib jshint js語法檢查 grunt contrib concat js合併 grunt contrib uglify 採用uglif...

IIS7下js檔案啟用Gzip後卻不壓縮的解決方法

iis7已經啟用靜態檔案壓縮 gzip 但是死活不壓縮,查詢後發現是ii7下mime型別設定問題 將.js的mime型別設定為application j ascript 再檢視頁面,已經啟用了gzip。不過,幾個天後又發現有的js檔案被壓縮,有的卻沒有 查詢原因發現是引用js檔案是沒有設定type ...