亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Vue項目從webpack3.x升級webpack4不完全指南

2019-11-19 11:41:23
字體:
來源:轉載
供稿:網友

前段時間,泡面將自己的一個Vue-cli構建的前端框架從webpack3.x升級到了4.x版本,現在才拉出來記錄一下,已備忘之用,也和大家分享一下,以免大家采坑。

原先的環境

  • 項目原先通過Vue-cli 2.9.3 版本構建,原先使用的webpack 3.x版本
  • 首先需要對基礎包進行更新(package.json)
  • webpack 更新到4.x版本,泡面這里更新到了4.28.3
  • 更新webpack-dev-server,泡面更新到了3.1.14版本,
  • 安裝webpack-cli,泡面安裝的是3.2.1版本

除了上面的這幾個,還需要更新下面幾個:

  • vue-loader 泡面直接升級到了15版本,
  • eslint-loader 升級到了1.7.1,這個當時在做啟動的時候提示了一些錯誤,所以索性也就升級了.
  • happypack, 泡面使用了多線程加速,所以這個也必須要升級,否則會報錯,泡面更新到了5.0.1
  • html-webpack-plugin, 這個也需要更新,否則會提示錯誤,泡面這里升級到了3.2.0

除了上面幾個,還需要額外下載一個:

  • mini-css-extract-plugin, 該包是要替換掉extract-text-webpack-plugin來使用,所以后者就遺棄掉了.

接著我們修改一下webpack.base.conf.js,沒有使用happypack的這步驟可略過...

泡面這里不知道為什么不能使用happypack來掛載vue-loader,否則會提示錯誤,所以泡面這里將原先的happypack的配置修改回了原先:

...const vueLoaderConfig = require('./vue-loader.conf')...module.exports = { ...  {   test: //.vue$/,    // loader: 'happypack/loader?id=happy-vue'    loader: 'vue-loader',    options: vueLoaderConfig  }, ... }

接著來調整 webpack.dev.conf.js

首先在合并配置的地方引入mode

 ... // 開發環境引入 mode: 'development', ... module: {  ... } devServer: {  ... }

webpack4需要手動引入vue-loader插件,因為泡面是從14版本升級到15版本,點我查看官方文檔,如何從 v14 遷移,所以這里需要引入:

...const VueLoaderPlugin = require('vue-loader/lib/plugin')...module.export = { ... plugins: [  ...  // 引入vue-loader插件  new VueLoaderPlugin(),  ...  // 同時,泡面注釋掉了vue-loader的happypack  // new Happypack({  //  id: 'happy-vue',  //  loaders: [{  //   loader: 'vue-loader',  //   options: vueLoaderConfig  //  }]  // }) ]}

接著, 以下插件被廢棄掉了,直接注釋掉

  • webpack.DefinePlugin
  • webpack.NamedModulesPlugin
  • webpack.NoEmitOnErrorsPlugin

ok, 這個文件就改完了.

接著來修改webpack.prod.conf.js

同開發環境,需要引入mode和vue-loader,一模一樣,所以這里不贅述了.

接著,我們需要在配置表里添加optimization選項:

...output: { ...},// 這里添加optimization: {  runtimeChunk: {   name: 'manifest'  },  minimizer: [   new UglifyJsPlugin({    cache: true,    parallel: true,    sourceMap: config.build.productionSourceMap,    uglifyOptions: {     warnings: false    }   }),   new OptimizeCSSPlugin({   cssProcessorOptions: config.build.productionSourceMap    ? { safe: true, map: { inline: false } }    : { safe: true }  }),  ],  splitChunks:{   chunks: 'async',   minSize: 30000,   minChunks: 1,   maxAsyncRequests: 5,   maxInitialRequests: 3,   name: false,   cacheGroups: {    vendor: {     name: 'vendor',     chunks: 'initial',     priority: -10,     reuseExistingChunk: false,     test: /node_modules//(.*)/.js/    },    styles: {     name: 'styles',     test: //.(scss|css)$/,     chunks: 'all',     minChunks: 1,     reuseExistingChunk: true,     enforce: true    }   }  } }, plugins: [...] 

接著,我們需要引入mini-css-extract-plugin插件,并添加到插件里:

...const MiniCssExtractPlugin = require('mini-css-extract-plugin')...plugins: [ ... new MiniCssExtractPlugin({  filename: utils.assetsPath('css/[name].[contenthash].css') }), ... ]

然后, 我們需要把廢棄掉的插件注釋掉:

webpack.DefinePluginUglifyJsPlugin (放到optimization里了)ExtractTextPluginOptimizeCSSPlugin (放到optimization里了)CommonsChunkPlugin (所有的...)

ok, 至此該文件就調整完了.

最后一個utils.js

這里主要是需要添加mini-css-extract-plugin插件

...// 注釋掉原來的插件// const ExtractTextPlugin = require("extract-text-webpack-plugin");const MiniCssExtractPlugin = require('mini-css-extract-plugin')...// 找到:// return ExtractTextPlugin.extract({//  use: loaders,//  fallback: "vue-style-loader",//  publicPath: '../../'// });// 改為:return [MiniCssExtractPlugin.loader].concat(loaders)

ok, 大功告成! 至此webpack4的配置文件就全部修改完成了.

目前, 泡面至在此記錄流水賬,回頭性能測試再發文章記錄.

ps: 如果出現這種錯誤

error: [vue-loader] vue-template-compiler must be installed as a peer dependency, or a compatible compiler implementation must be passed via options.

請重新安裝一下 vue-template-compiler

總結

以上所述是小編給大家介紹的Vue項目從webpack3.x升級webpack4不完全指南,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品在线欧美视频| 97激碰免费视频| 亚洲色图日韩av| 91精品在线播放| www.xxxx精品| 久久久最新网址| 国产99在线|中文| 日韩国产在线播放| 亚洲国产成人久久综合一区| 亚洲国产精品专区久久| 久久久久久成人| 久久国产精品久久久久久| 久久国产精品首页| 国产精品精品一区二区三区午夜版| 欧美日本黄视频| 91精品视频在线看| 91精品国产91久久久久| 精品一区二区三区三区| 亚洲精品狠狠操| 久久久精品视频在线观看| 在线播放国产精品| 精品欧美一区二区三区| 日韩国产精品一区| 91九色国产在线| 亚洲一区二区少妇| 国产精品久久中文| 久久亚洲精品小早川怜子66| 色噜噜狠狠狠综合曰曰曰| 欧美大片欧美激情性色a∨久久| 国产97在线视频| 尤物yw午夜国产精品视频| 97精品视频在线观看| 国产精品美女午夜av| 国模精品一区二区三区色天香| 欧美一性一乱一交一视频| 亚洲精品999| 国产精品a久久久久久| 久久97精品久久久久久久不卡| 国产精品丝袜一区二区三区| 久久久成人精品| 日韩免费中文字幕| 懂色av中文一区二区三区天美| 中文字幕av一区二区三区谷原希美| 欧美日韩激情网| 在线日韩精品视频| 欧美电影在线观看网站| 亚洲精品动漫久久久久| 欧美激情小视频| 亚洲成色777777女色窝| 这里只有精品视频在线| 欧美美最猛性xxxxxx| 日本免费一区二区三区视频观看| 成人黄色午夜影院| 欧美xxxwww| 国产美女久久久| 亚洲精品白浆高清久久久久久| 亚洲成人黄色在线观看| 在线不卡国产精品| 亚洲色图狂野欧美| 国产第一区电影| 日韩毛片在线看| 日韩欧美亚洲成人| 欧美多人乱p欧美4p久久| 国产视频自拍一区| 性欧美暴力猛交69hd| 亚洲国产精品国自产拍av秋霞| 视频在线一区二区| 中文字幕亚洲天堂| 国产美女久久久| 91日韩在线视频| 欧美理论在线观看| 色婷婷综合成人av| 久久影视三级福利片| 欧美日韩视频免费播放| 亚洲天天在线日亚洲洲精| 成人免费在线视频网站| 国产精品久久网| 亚洲精品一区在线观看香蕉| 久久精品精品电影网| 欧亚精品在线观看| 欧美在线一区二区视频| 97在线视频免费观看| 国产亚洲一区精品| 亚洲欧美日韩精品久久奇米色影视| 另类专区欧美制服同性| 亚洲免费福利视频| 久久99精品久久久久久青青91| 欧洲成人免费视频| 美女福利精品视频| 国产午夜精品全部视频播放| www.亚洲男人天堂| 中文字幕精品在线视频| 欧美视频13p| 亚洲图片制服诱惑| 亚洲a在线观看| 成人亚洲综合色就1024| 亚洲国产日韩一区| 久久精品国产69国产精品亚洲| 欧美日韩在线另类| 精品国产鲁一鲁一区二区张丽| 亚洲综合日韩在线| 欧美丰满少妇xxxxx做受| 国产精品国语对白| 日韩欧美中文字幕在线观看| 91久热免费在线视频| 午夜免费日韩视频| 色一情一乱一区二区| 国产日韩在线看| 亚洲视频在线观看免费| www.日韩.com| 欧美性极品xxxx做受| 欧美日韩ab片| 国产精品亚洲第一区| 欧美不卡视频一区发布| 91日本视频在线| 日韩专区在线观看| 亚洲精品电影在线| 久久久久久久av| 日本欧美国产在线| 日韩一区二区在线视频| 欧美一区二区三区免费观看| 欧美日韩人人澡狠狠躁视频| 精品国产网站地址| 伦伦影院午夜日韩欧美限制| 岛国av一区二区| 日韩网站在线观看| 日韩免费在线免费观看| 九色精品免费永久在线| 成人免费看黄网站| 日韩美女视频免费看| 国产精品一区二区三区毛片淫片| 久久精品人人做人人爽| 91久久精品国产91久久| 国产成人精品一区| 欧美视频在线视频| 国产欧美日韩免费看aⅴ视频| 亚洲国产精彩中文乱码av| 久久国产精品久久精品| 亚洲精品黄网在线观看| 精品亚洲一区二区三区在线播放| 亚洲欧美日韩一区二区三区在线| 91影院在线免费观看视频| 国外成人在线视频| 欧美最近摘花xxxx摘花| 狠狠色狠狠色综合日日小说| 欧美诱惑福利视频| 中文字幕亚洲一区二区三区五十路| 最近2019中文字幕一页二页| 日韩成人中文字幕| 精品久久久91| 亚洲成人精品久久| 中文字幕日韩精品有码视频| 欧美激情日韩图片| 欧美激情精品久久久久久大尺度| 热99久久精品| 91亚洲精品久久久久久久久久久久| 日韩av中文字幕在线免费观看| 成人精品视频99在线观看免费| 日韩精品在线播放| 欧美午夜精品在线| 久久99精品久久久久久青青91| 国产欧美精品日韩精品| 欧洲永久精品大片ww免费漫画| 成人网址在线观看|