用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構建開發流程有一定的區別。
webpack編譯es6代碼,如何壓縮優化代碼,又能保留debugger關鍵字?
FFIVE
2019-03-01 20:23:54