為什麼我不推薦你使用vue-cli創建腳手架?

為什麼我不推薦你使用vue-cli創建腳手架?

最近在知乎看到一個問題,原問題如下:

“ 很奇怪,為什麼現在能找到自己手動創建vue腳手架的文章非常少,而且大家似乎對webpack4的熱情並不高,對於想基於vue2.0+webpack4搭建一個腳手架的我來說資料真是少得可憐。難道現在一般的做法就是直接從vue-cli開始然後改成自己需要的模樣嗎?難道就沒有人從零開始搭建一個漸進增強的腳手架?這一點我很疑惑,希望大牛給點指導。”

這個問題我之前在公司也曾想過,當初入門vue項目也是從一個 <code>npm install vue-cli -g/<code> 的命令行開始的,覺得官方提供的vue-cli腳手架很友好,不用想vue+webpack的工作流怎麼搭建,vue-loader 和 css-module怎麼配置,如何安裝使用eslint和editorconfig等,就可以直接進入業務代碼的開發階段。

當然,以上是對於寫業務代碼的前端一線編碼人員來說的,對於追求上進的你當然不滿足於一直寫業務代碼,你也想知道一個項目在破土動工前,前端leader是怎麼搭建一個前端項目的工作流的,如何去手動配置一個具體項目的webpack打包文件,包括後期的SSR,服務端渲染。

這些都是你提升自己內功的砝碼,也是初級前端和中級前端的區別所在,初級前端只會在leader安排下的一個模塊裡寫點業務代碼而不用去管前端工程的問題,這些問題都被前端leader搞定了,你只需調用他寫好的命令或者插件即可。

中級前端或者更進階者就有統籌全局的能力,類似於文章開頭說的,能手動創建一個和公司項目需求深度定製的vue腳手架,而不再依賴於官方提供的vue-cli,一方面自己定製的腳手架哪出了問題自己心裡清楚,從而也能培養自己前端架構的能力,另一方面這也是月薪10K與20K的技術差距。

當然,如果你直接使用了vue-cli,你的領導要求你將webpack的版本從3升級到最新的大版本4,你會不會一臉懵逼呢?舉個例子:

在webpack4.0中,如何使用extract-text-webpack-plugin配置css單獨分離打包,以及如何解決在升級過程中碰到的一些坑?如果你沒有親手升級過webpack4,你根本不會發現這些問題,例如extract-text-webpack-plugin的報錯:

(node:12712) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
E:\\***\\myproject\\webpack-vue-elementUi\\node_modules\\webpack\\lib\\Chunk.js:460
throw new Error(
^
Error: Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead
at Chunk.get (E:\\***\\myproject\\webpack-vue-elementUi\\node_modules\\webpack\\lib\\Chunk.js:460:9)
at E:\\***\\myproject\\webpack-vue-elementUi\\node_modules\\extract-text-webpack-plugin\\dist\\index.js:176:48
at Array.forEach (<anonymous>)
at E:\\***\\myproject\\webpack-vue-elementUi\\node_modules\\extract-text-webpack-plugin\\dist\\index.js:171:18/<anonymous>

這個問題的解決方式你在百度上暫時還搜不到答案,只能是依靠平時閱讀官方文檔、技術社區等尋找解決之道。

後來經過排查你會發現是由於extract-text-webpack-plugin目前還沒有webpack4版本。可以使用該方式npm install extract-text-webpack-plugin@next解決。

這就是硬實力的一種體現,在公司裡技術的高低,體現於公司項目中碰到的難以解決的bug的解決能力。你可以看看平時在公司裡誰解決的bug多,一般不是太難的bug都是前端小組的成員去解決,比較難的bug大多數情況下是前端小組的leader去解決的。

這種硬實力的體現,折射出他為何是leader,你為何是被管理者,同樣的崗位,放你上去,你不一定能解決掉項目中碰到的問題,而他能。所以,童鞋們,人家之所以是leader,是因為人家有高你一籌的技能,而這恰恰是你現階段所缺少的。

俗話說,不想當leader的程序猿不是好碼農。所以,平時你們可以在公司裡看看你們的leader在忙些什麼。

這就是我為什麼不推薦你使用vue-cli創建腳手架的原因(此文的受眾是想要進階中級的初級前端人員)。

接下來,我會分章節手把手教大家如何從零開始一個vue+webpack前端工程工作流的搭建,以及SSR服務端渲染。文章預告如下:

  • 一個正式項目的目錄結構是怎麼形成的

  • vue-loader是如何配置的

  • 淺談css-module配置

  • 安裝使用eslint檢查的小技巧

  • 如何在前端項目中配置editorconfig以及precommit

  • ......

  • 怎麼用createRenderer的方式進行服務端渲染

  • 正式環境打包以及異步模塊打包優化


分享到:


相關文章: