W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Webpack 5 對 Node.js 的版本要求最低是 10.13.0 (LTS),因此,如果你還在使用舊版本的 Node.js,請升級它們。
2. 升級 webpack-cli 到最新的可用版本(如已使用的情況下)
3. 升級所有使用到的插件和加載器為最新的可用版本。
部分插件和加載器可能會有一個 beta 版本,必須使用它們才能與 webpack 5 兼容。 請確保在升級時閱讀每個插件/加載器的發(fā)布說明,因為最新版本可能只支持webpack 5,而在v4中會運行失敗。在這種情況下,建議升級到支持 webpack 4 的最新版本。
由于升級了webpack,webpack-cli,plugin以及l(fā)oader的版本,因此,可能會出現(xiàn)新的錯誤或警告。在編譯過程中請注意是否有廢棄警告。
你可以通過如下方式調(diào)整 webpack 來獲取堆棧信息中的廢棄警告,從中找到是哪個插件或者 loader 構(gòu)建的。
node --trace-deprecation node_modules/webpack/bin/webpack.js
由于webpack 5移除了所有被廢棄的特性,因此,需要確保在構(gòu)建過程中沒有webpack的廢棄警告才能繼續(xù)。
將模型設(shè)置為 ?production
? 或 ?development
? 以確保相關(guān)的默認值被設(shè)置。
如有使用以下的配置項,請升級至最新的版本:
optimization.hashedModuleIds: true
? → ?optimization.moduleIds: 'hashed'
?optimization.namedChunks: true
? → ?optimization.chunkIds: 'named'
?optimization.namedModules: true
? → ?optimization.moduleIds: 'named'
?NamedModulesPlugin
? → ?optimization.moduleIds: 'named'
?NamedChunksPlugin
? → ?optimization.chunkIds: 'named'
?HashedModuleIdsPlugin
? → ?optimization.moduleIds: 'hashed'
?optimization.noEmitOnErrors: false
? → ?optimization.emitOnErrors: true
?optimization.occurrenceOrder: true
? → ?optimization: { chunkIds: 'total-size', moduleIds: 'size' }
?optimization.splitChunks.cacheGroups.vendors
? → ?optimization.splitChunks.cacheGroups.defaultVendors
?optimization.splitChunks.cacheGroups.test(module, chunks)
?→ ?optimization.splitChunks.cacheGroups.test(module, { chunkGraph, moduleGraph })
?Compilation.entries
? → ?Compilation.entryDependencies
?serve
? → ?serve
? 已被移除,推薦使用 ?DevServer
?Rule.query
?(從 v3 開始被移除)→ ?Rule.options
?/?UseEntry.options
?Rule.loaders
? → ?Rule.use
?嘗試在 webpack 4 的配置中添加如下選項,檢查一下構(gòu)建是否仍然正確的運行。
module.exports = {
// ...
node: {
Buffer: false,
process: false,
},
};
你必須在升級 webpack 5 的配置時,必須刪除這些選項。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: