最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

webpack3.0升級4.0的方法步驟

 更新時間:2020年04月02日 10:29:13   作者:_kangzai  
這篇文章主要介紹了webpack3.0升級4.0的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1.webpack 3.11升級4.26

為了提升打包效率,在webpack3.11基礎(chǔ)之上做了升級,webpack4.0發(fā)布以來,零配置的webpack對項目本身提供的“打包”和“壓縮”功能已經(jīng)做了優(yōu)化,如果在項目開始使用4.0而不用vue-cli的默認配置,遇到的問題或許能少一些。

2. 安裝/升級依賴

這些依賴有的是在build過程中發(fā)現(xiàn)依賴有新的替換或者報錯,逐步替換的,如果想遇到多個坑,可以先把webpack、webpack-cli升級到對應(yīng)版本

devDependencies:

"extract-text-webpack-plugin": "^4.0.0-beta.0"
"html-webpack-plugin": "^4.0.0-beta.14"
"mini-css-extract-plugin": "^0.9.0" (舊的optimize-css-assets-webpack不支持了)
"preload-webpack-plugin": "^3.0.0-beta.4"
"script-ext-html-webpack-plugin": "^2.1.3"
"vue-loader": "^15.3.0"
"webpack": "^4.26.1"
"webpack-cli": "^3.1.2"
"webpack-dev-server": "^3.2.1"
"script-ext-html-webpack-plugin": "^2.1.3"

3. 遇到的問題

升級webpack后,build報錯:ERROR in ./src/App.vue
Module Error (from ./node_modules/vue-loader/lib/index.js

解決:升級vue-loader至15.3.0,

webpack.base.conf.js添加

const {VueLoaderPlugin} = require('vue-loader')
module.exports中添加
 plugins:[new VueLoaderPlugin()]

修改配置文件 webpack.prod.conf.js:

webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead.

解決:

webpack.prod.conf.js webpackConfig配置:
optimization: {
 noEmitOnErrors: true,
 concatenateModules: true,
 splitChunks: {
  chunks: 'all',
  name: 'common',
 },
 runtimeChunk: {
  name: 'runtime'
 }
 }
webpack.prod.conf.js webpackConfig配置: 
optimization:{
 namedModules: true
 },

Plugin could not be registered at ‘html-webpack-plugin-before-html-processing'. Hook was not found.

解決:

npm i preload-webpack-plugin@next -D

Tapable.plugin is deprecated. Use new API on .hooks instead

問題:extract-text-webpack-plugin兼容問題 ,功能:extract css into its own file

解決: 卸載extract-text-webpack-plugin,安裝mini-css-extract-plugin

 new MiniCssExtractPlugin({
  filename: utils.assetsPath('css/[name].[contenthash].css'),
  allChunks: false,
 }),

build出錯:ERROR in TypeError: Cannot read property ‘hash' of undefined

解決:

  去掉這段
  //打包計時
  const SpeedMeasurePlugin = require("speed-measure-webpack-plugin");
  const smp = new SpeedMeasurePlugin();

WARNING in configuration
The ‘mode' option has not been set, webpack will fallback to ‘production' for this value. Set ‘mode' option to ‘development' or ‘production' to enable defaults for each environment.
You can also set it to ‘none' to disable any default behavior. Learn more: https://webpack.js.org/concepts/mode/

解決:webpackConfig添加 mode: ‘production'

Tapable.plugin is deprecated. Use new API on .hooks instead

解決:

npm i --save-dev extract-text-webpack-plugin@next

會下載到 extract-text-webpack-plugin@4.0.0-beta

Error: webpack.optimize.CommonsChunkPlugin has been removed, please use config.o ptimization…

解決:

  • 去掉 webpack.optimize.CommonsChunkPlugin相關(guān)配置
  • webpackConfig中與plugins的同級添加
optimization: {
 splitChunks: {
   cacheGroups: {
    commons: {
     name: "commons",
     chunks: "initial",
     minChunks: 2
    }
   }
  }
 },

Unhandled rejection Error: “dependency” is not a valid chunk sort mode

new HtmlWebpackPlugin({
  filename: config.build.index,
  template: 'index.html',
  inject: true,
  minify: {
  removeComments: true,
  collapseWhitespace: true,
  removeAttributeQuotes: true
  },
  // necessary to consistently work with multiple chunks via CommonsChunkPlugin
  chunksSortMode: 'dependency'
 }),

解決:chunksSortMode改為auto或者注釋

至此:npm run build 正常
接下來調(diào)npm run dev,直接運行成功

4. 總結(jié)

開啟cache的情況下,原來打包時間22s左右,現(xiàn)在build最快8s左右

升級思路:

  1. 卸載webpack舊版本、安裝新版本webpack, webpack-cli
  2. 遇到loader、plugin報錯,升級loader、plugin,有的在4.0不支持,需要換成新的
  3. 卸載 ExtractTextPlugin、刪除對應(yīng)配置,改用 mini-css-extract-plugin
  4. 配置環(huán)境mode
  5. 其它wenpack3.0優(yōu)化配置兼容處理

到此這篇關(guān)于webpack3.0升級4.0的方法步驟的文章就介紹到這了,更多相關(guān)webpack3.0升級4.0內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript多并發(fā)問題如何處理

    JavaScript多并發(fā)問題如何處理

    這篇文章給大家介紹javascript多并發(fā)問題處理方法,涉及到j(luò)s多并發(fā)處理方法相關(guān)知識,對js多并發(fā)處理方法感興趣的朋友可以參考下本文
    2015-10-10
  • 微信小程序?qū)崿F(xiàn)美團菜單

    微信小程序?qū)崿F(xiàn)美團菜單

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)美團菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 微信小程序中target和currentTarget的區(qū)別小結(jié)

    微信小程序中target和currentTarget的區(qū)別小結(jié)

    這篇文章主要給大家介紹了關(guān)于微信小程序中target和currentTarget區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • JS+Canvas實現(xiàn)的俄羅斯方塊游戲完整實例

    JS+Canvas實現(xiàn)的俄羅斯方塊游戲完整實例

    這篇文章主要介紹了JS+Canvas實現(xiàn)的俄羅斯方塊游戲,結(jié)合完整實例形式分析了Canvas技術(shù)實現(xiàn)俄羅斯方塊游戲的步驟、技術(shù)難點與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-12-12
  • Some tips of wmi scripting in jscript (1)

    Some tips of wmi scripting in jscript (1)

    Some tips of wmi scripting in jscript (1)...
    2007-04-04
  • 最新評論

    常德市| 星子县| 罗平县| 名山县| 建水县| 彩票| 揭西县| 鄂伦春自治旗| 呼玛县| 阜宁县| 通化市| 乐亭县| 马边| 额敏县| 红原县| 湘潭县| 冀州市| 潍坊市| 额济纳旗| 清徐县| 库车县| 龙山县| 兴文县| 苏州市| 晋宁县| 普兰店市| 汶川县| 凌源市| 会理县| 阳原县| 长阳| 临邑县| 临夏市| 甘南县| 宜阳县| 长春市| 沂水县| 成安县| 贵溪市| 日照市| 高雄县|