您當前位置>首頁 » 新聞資訊 » 小(xiǎo)程序相(xiàng)關 >
小(xiǎo)程序 ide 新思路(lù):no webpack
發表時(shí)間(jiān):2021-1-6
發布人(rén):葵宇科(kē)技(jì)
浏覽次數(shù):54
小(xiǎo)程序 ide 是(shì)個(gè)好(hǎo)東(dōng)西(xī),除了(lα>e)包括調試器(qì),模拟器(qì),編輯器(qì),還(hái)包括打包,₹✔★部署,severless等機(jī)制(zhì),是(shì)個(gè)很(hěn)γ>≥好(hǎo)的(de)工(gōng)程化(huà)模型
我們可(kě)以使用(yòng) electron 來(lái)搞定,使♣→用(yòng)自(zì)帶的(de) chromium 的(de) devt ©ools 進行(xíng)遠(yuǎn)程調試,然後使用(yòng)自≈&♠✔(zì)帶的(de) node 進行(xíng) webpack 打包∞ ,然後再走 CI
如(rú)果隻是(shì)這(zhè)樣,那(nà)就(jiù)不(bù)需¶™✘要(yào)我搞了(le),哈哈哈哈
no webpack
小(xiǎo)程序 ide 最大(dà)的(de)诟病就(jiù)是> ★(shì)打包編譯速度太慢(màn),還(hái)不(bù)支持熱(λ≤★€rè)更新,隻要(yào)還(hái)有(yǒu) webpack,那(nà)麽這→↑(zhè)個(gè)問(wèn)題就(jiù)是(shì)無解的(de)
那(nà)有(yǒu)沒有(yǒu)新思路(lù)呢(ne♠>$)?
答(dá)案是(shì)有(yǒu)的(de),那(nà)就(jiù)使 ♠用(yòng) type=module
類似的(de)項目還(hái)有(yǒu) vite、s↑₩♠nowpack……說(shuō)實話(huà)由于太簡單,我認為(wèi)這(zhè)✔ 種開(kāi)發模式沒辦法火(huǒ)起來(lái)
但(dàn)确實很(hěn)适合小(xiǎo)程序 ide,因為(wèi)可(∏✘kě)以擺脫 webpack,收回主動權,甚至熱(rè)更新都(dōu←★)可(kě)以做(zuò)了(le),而這(zhè)一(yī)切,隻需要(yào)啓一(yī)↓<個(gè) server
deku for worker
理(lǐ)想很(hěn)豐滿,現(xiàn)實很(hěn)殘酷,deku 的(de)思路(l₩☆∑♣ù)隻能(néng)用(yòng)于支持 type=module 的(de)浏覽器(q♥™₩ì),可(kě)以我們小(xiǎo)程序的(de)邏輯都(dōu)是(s ®✔←hì)跑在 worker 裡(lǐ)的(de),根本不(bù)支持 type=modul£Ωβe 腫麽辦……
萬幸的(de)是(shì),最新的(de) chrom↕e 83 已經對(duì) sharedWorker
進行(xíng) module 支持,而且 servγ↕ice worker 的(de)标準也(yě)已經更新了(le),隻是(sh쀮)還(hái)沒有(yǒu)被實現(xiàn)
也(yě)許等我搞定小(xiǎo)程序引擎的(de)時(s÷≈hí)候,它也(yě)差不(bù)多(duō)得(de)到(dào)支持啦
我們最終肯定是(shì)使用(yòng) sw 沒錯(cuò)了(le),下(π&∏xià)一(yī)篇講自(zì)動化(huà)部署會(huì)講到(dào),我們要(yào)÷∏利用(yòng) pwa 跑 lighthouse,然後部署上(shàng)線後還(hái)支持【¥✔将小(xiǎo)程序添加到(dào)桌面】功能(néng)
好(hǎo)吧(ba),和(hé) web-component ₹×®一(yī)樣,pwa 也(yě)是(shì)個(gè)雞肋,必要(&α™≥yào)性沒有(yǒu),但(dàn)是(shì)小(xiǎo)玩(wán←★ )意還(hái)是(shì)一(yī)堆,不(bù)搞白(bái)不(bù)搞嘛
總結
通(tōng)過本篇,我們知(zhī)道(dào)了(le)新的(de) idα¥e 思路(lù),抛棄 webpack 和(hé)慢(màn)到(dào)♠™死的(de)構建速度,借助 sw(在 module 得(de)到(dào)之前隻能(néng)用©∞(yòng) shared worker 替代) 實現(xiàn) module 的( ♦&♠de)加載,最終獲得(de)完美(měi)的(de)開(kāi)發體(tǐ)驗
優點除了(le)快(kuài),還(hái)可(kě)控,而且心智負擔也(yě)很(hě ≥n)小(xiǎo),就(jiù)是(shì)個(gè) server 而已
我們下(xià)一(yī)篇講 pwa 怎麽和(hé)小(xiǎo)程序結合,已經剩©₽∞下(xià)的(de)步驟(部署,serverless等等)
可(kě)以看(kàn)到(dào),這(zhè)一(yī)整套流程♦ελ走下(xià)來(lái),就(jiù)是(shì)一(yī)套有(yǒu)意思♠¥≈♦的(de)産品了(le),哈哈
和(hé) web ide 的(de)區(qū)别
最後不(bù)得(de)不(bù)說(shuō)一(yī)句,小(xiǎo)程序 ide 雖然₹∞也(yě)是(shì)一(yī)個(gè) webide,但(d∏♣÷àn)我認為(wèi)小(xiǎo)程序 ide 的(de)模型要(yào)好(hǎo)得(d£π•βe)多(duō)
因為(wèi)我是(shì)不(bù)打算(suàn)摻合編輯器(qì)的(dα₩βγe),小(xiǎo)程序 ide 就(jiù)隻包括調試器( ×₹©qì)和(hé)模拟器(qì)和(hé)一(yī)個 £Ω(gè) dev server
至于編輯器(qì),用(yòng)戶自(zì)己用(yòng) vscode 即☆φ可(kě)
但(dàn)确實,這(zhè)個(gè)思路(lù)和(hé)大(dà)廠(chǎng)的(de)✘ש webide 如(rú)出一(yī)轍,其實都(dōu)是(shì)± ™ε為(wèi)了(le)自(zì)動構建那(nà)些(xiē)東(dōng)西(xī♠↔),真沒必要(yào)整一(yī)個(gè)編輯器(qì)了→€π©(le),有(yǒu)調試器(qì)和(hé)模拟器(qì)就(jiù)很>↓≥≈(hěn)幹淨純粹