這篇文章主要介紹了webpack3升級到webpack4版本遇到問題的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
據說webpack3比webpack4編譯速度將近快了 60%-80%。
成功升級之后,于是來記錄下,項目主要是vue ^2.5.9,webpack ^4.10.2,webpack-dev-sever ^3.1.4,配合升級的還有vue-loader ^15
項目重現編譯之后由原來的1.7MB減少到1.1MB,看來在壓縮這塊也是由效果的。
需要修改的地方有以下幾點:
vue-loader14到15需要增加如下配置
const VueLoaderPlugin = require('vue-loader/lib/plugin') ++++
const MiniCssExtractPlugin = require('mini-css-extract-plugin') // webpack 4 +++
const ExtractTextPlugin = require('extract-text-webpack-plugin') //for webpack3 -----
module.exports = {
...
plugins: [
+ new VueLoaderPlugin(), ++++
+ new MiniCssExtractPlugin({filename:'mian.css'}) //for webpack 4 +++
- new ExtractTextPlugin({filename:'main.css'}) //for webpack 3 ---
]
...
}webpack-dev-server升級之后需做如下改動
devServer: {
++ contentBase: path.resolve(__dirname, '../dos-html'), // 需要指定路徑 ++
port: 7001,
hot: true,
// open: false,
inline: true,
compress: true,
historyApiFallback: true,
....
},webpack3升級4之后需要改動的配置
plugins: [
//已經移除
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource && /\.js$/.test(module.resource) &&
module.resource.indexOf( path.join(__dirname, '../node_modules')) === 0
)
}
}),
new webpack.optimize.UglifyJsPlugin(...)//已經移除
}
// ===> 修改為以下
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
moudel.exports = {
mode: 'production', ++ 這里指定模式。
...
optimization: {
splitChunks: {
name(module) {
return (
module.resource && /\.js$/.test(module.resource) &&
module.resource.indexOf(path.join(__dirname, '../node_modules')) === 0
)
}
},
minimize: true,
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false,
// drop_debugger: true,
// drop_console: true
},
sourceMap: false
}
})
]
},
...
}其他的各種報錯信息,注意看,可能是模塊版本太低了吧,都升級下就OK了。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“webpack3升級到webpack4版本遇到問題的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。