中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

webpack 1.x升級過程中的踩坑總結大全

發布時間:2020-09-15 00:17:36 來源:腳本之家 閱讀:252 作者:u3xyz 欄目:web開發

前言

大家應該都知道,Webpack 是一個前端資源加載/打包工具。它將根據模塊的依賴關系進行靜態分析,然后將這些模塊按照指定的規則生成對應的靜態資源。因為最近在對博客做SSR,無奈vue ssr demo或例子都是基于webpack2的。博主在webpack1.x上折騰了許久,vue-ssr-server-bundle.json文件生成仍然還是遙遙無期。最后還是乖乖地開始了webpack升級之旅。

本文主要記錄升級過程中遇到的一些坑和解決辦法,可能有些遺漏了,能記多少記多少吧。話不多說了,來一起看看詳細的介紹吧。

webpack 1.x升級過程中的踩坑總結大全

錯誤:Error: Chunk.entry was removed. Use hasRuntime()

解決辦法:升級extract-text-webpack-plugin ("extract-text-webpack-plugin": "^2.1.0",)

錯誤:Error: Breaking change: extract now only takes a single argument.

// 錯誤提示

Error: Breaking change: extract now only takes a single argument. Either an options object *or* the loader(s).
Example: if your old code looked like this:
 ExtractTextPlugin.extract('style-loader', 'css-loader')

You would change it to:
 ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })

原因是webpack2對loader的配置做了一些調整,修改 ExtractTextPlugin配置即可:

{
 test: /\.less$/,
 use: ExtractTextPlugin.extract({
  fallback: 'style-loader',
  use: ['css-loader', 'less-loader']
 })
},

htmlWebpackPlugin生成的html,沒有引入css, app.js

修改配置,chunks屬性使用files包裹

{
 filename: pageName + '.html',
 template: __dirname + '/src/' + pageName + '.html',
 chunks: pageConf.chunks,
 inject: true
};
{
 filename: pageName + '.html',
 template: __dirname + '/src/' + pageName + '.html',
 files: {
  chunks: pageConf.chunks,
 },
 inject: true
};

eslint不能識別es6語法

 ✘ http://eslint.org/docs/rules/ Parsing error: The keyword 'import' is reserved
 src\entry.client.js:7:1
 import { createApp } from './app'
 ^

解決辦法:修改eslint配置,增加

"parser": "babel-eslint",

錯誤: Module build failed: BrowserslistError: Unknown version 57 of and_chr

npm 包過期,刪除node_modules,從新安裝依賴即可

webpack dist打包后,不生成公共css文件

vee-loader配置不對,加上配置 extractCSS: true

{
 test: /\.vue$/,
 loader: 'vue-loader',
 options: {
  extractCSS: isProd,
  preserveWhitespace: false,
  postcss: [
  require('autoprefixer')({
   browsers: ['last 3 versions']
  })
  ]
 }
},

小結

升級過程總體上還算順利,vue-ssr-server-bundle.json也生成了,不過這僅僅是ssr的開始,一大堆問題等著解決。 如果不熟悉webpack2可以先花點時間看下官網介紹,英文不好的可以看翻譯版。 整個升級過程總得來說,就是很多loader得升級,另一個要注意的就是loader的配置了,其它似乎沒什么特別的地方。

總結

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凌云县| 中卫市| 左云县| 仁怀市| 乳源| 手游| 柳河县| 博乐市| 会宁县| 金坛市| 连山| 水城县| 九龙坡区| 潢川县| 怀仁县| 福海县| 宾阳县| 邮箱| 巴林左旗| 合山市| 鸡泽县| 彰武县| 诸暨市| 淮安市| 湛江市| 云安县| 崇阳县| 舞阳县| 扎兰屯市| 四平市| 健康| 忻城县| 随州市| 额尔古纳市| 文昌市| 永修县| 南开区| 江油市| 丹东市| 鲁甸县| 博客|