国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue項(xiàng)目從webpack3.x升級(jí)webpack4不完全指南

2024-05-06 15:40:04
字體:
供稿:網(wǎng)友

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

原先的環(huán)境

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

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

vue-loader 泡面直接升級(jí)到了15版本, eslint-loader 升級(jí)到了1.7.1,這個(gè)當(dāng)時(shí)在做啟動(dòng)的時(shí)候提示了一些錯(cuò)誤,所以索性也就升級(jí)了. happypack, 泡面使用了多線程加速,所以這個(gè)也必須要升級(jí),否則會(huì)報(bào)錯(cuò),泡面更新到了5.0.1 html-webpack-plugin, 這個(gè)也需要更新,否則會(huì)提示錯(cuò)誤,泡面這里升級(jí)到了3.2.0

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

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

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

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

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

接著來調(diào)整 webpack.dev.conf.js

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

 ... // 開發(fā)環(huán)境引入 mode: 'development', ... module: {  ... } devServer: {  ... }

webpack4需要手動(dòng)引入vue-loader插件,因?yàn)榕菝媸菑?4版本升級(jí)到15版本,點(diǎn)我查看官方文檔,如何從 v14 遷移,所以這里需要引入:

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

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

webpack.DefinePlugin webpack.NamedModulesPlugin webpack.NoEmitOnErrorsPlugin

ok, 這個(gè)文件就改完了.

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

同開發(fā)環(huán)境,需要引入mode和vue-loader,一模一樣,所以這里不贅述了.

接著,我們需要在配置表里添加optimization選項(xiàng):

...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: [...]             
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 怀仁县| 保靖县| 曲水县| 大丰市| 白银市| 桐梓县| 吴堡县| 寻甸| 宿松县| 清水县| 普定县| 巴青县| 托里县| 桃江县| 周至县| 盘山县| 永善县| 奉化市| 萨嘎县| 桃源县| 筠连县| 贵港市| 贵港市| 社会| 荣成市| 双辽市| 社旗县| 舟曲县| 普洱| 福贡县| 保亭| 阜康市| 镇康县| 禄劝| 江孜县| 鸡西市| 乐业县| 洛南县| 平乡县| 永修县| 正宁县|