亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

webpack編譯es6代碼,如何壓縮優化代碼,又能保留debugger關鍵字?

webpack編譯es6代碼,如何壓縮優化代碼,又能保留debugger關鍵字?

FFIVE 2019-03-01 20:23:54
用webpack編譯es6,碰到一個頭疼的問題。如果我用development模式,編譯后的js文件能保留debugger關鍵字,但是js文件太大了。webpack.config.js配置文件如下:module.exports = {     devtool: "source-map",     mode: 'development',    module: {         rules:[             { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }         ]     } }生成的代碼如下:這樣生成的js代碼,保留了debugger關鍵字,能幫助我快速打斷點(個人習慣,喜歡用debugger打斷點,也會去chrome里面手動打斷點)。但是這樣的js文件太大了,上線時,肯定希望js代碼壓縮優化下,畢竟用sourcemap調試,開發階段生成的js文件是壓縮的也沒有問題。為了將js文件壓縮優化,只需要將webpack.config.js的mode調整為:production就行了,這樣生成js文件是壓縮優化過的,通過sourcemap可以很方便的調試,可是這個時候debugger關鍵字沒有了,刷新頁面時,沒有自動斷點。要是debugger關鍵字像console.log一樣被保留就好了,生成js文件是壓縮過的,console.log和debugger還被保留,方便調試。本人目前搭建的開發環境為:webpack通過babel編譯es6,沒有牽扯到webpack-dev-server這些服務器環境等,所以盡量不要讓我升級配置文件等。我目前采用的是gulp,gulp搭建的服務器和webpack-stream(webpack和gulp的整合工具)。請大神支招,我希望webpack編譯es6,代碼優化壓縮又能保留debugger關鍵字。特別聲明:有大神質疑要上線的代碼為什么要帶有debugger等調試信息,我只是開發階段使用,后續肯定注釋或者刪除。我這邊構建環境,希望開發階段生成的代碼測試沒問題直接上線的,并不會有意去區分開發階段和上線階段,這和一般的webpack構建開發流程有一定的區別。
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

樓主試試這個

// 安裝下 npm i uglifyjs-webpack-plugin --save-devconst UglifyJsPlugin = require('uglifyjs-webpack-plugin')module.exports = {    devtool: "source-map",    mode: 'production',    module: {        rules:[
            { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }
        ]
    },    optimization: {        minimizer: [          new UglifyJsPlugin({            uglifyOptions: {              compress: {                drop_debugger: false
              }
            },            sourceMap: true,            cache: true,            parallel: true
          }),
         ]
    }
}


查看完整回答
反對 回復 2019-03-01
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

你這個問題本身就很奇怪,上線的代碼肯定是不應該保留調試信息的。而如果是在開發階段,那文件大一點有什么關系呢?

請描述清楚你必須這么做的理由


查看完整回答
反對 回復 2019-03-01
  • 2 回答
  • 0 關注
  • 1159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號