成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

webpack多頁應(yīng)用架構(gòu)系列(一):一步一步解決架構(gòu)痛點(diǎn)

Lowky / 1508人閱讀

摘要:本文首發(fā)于的技術(shù)博客實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址如果您對本系列文章感興趣,歡迎關(guān)注訂閱這里這系列文章講什么本系列文章主要介紹如何用這一當(dāng)前流行的構(gòu)建工具來設(shè)計(jì)一個(gè)多頁應(yīng)用的架構(gòu)。

本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。
原文地址:https://segmentfault.com/a/1190000006843916
如果您對本系列文章感興趣,歡迎關(guān)注訂閱這里:https://segmentfault.com/blog/array_huang
這系列文章講什么?

本系列文章主要介紹如何用webpack這一當(dāng)前流行的構(gòu)建工具來設(shè)計(jì)一個(gè)多頁應(yīng)用的架構(gòu)。請注意,本文并非新手教程,著重點(diǎn)更多是在于提供解決問題的思路,而非手把手帶你裝逼。

作者介紹

本人供職于某互聯(lián)網(wǎng)物流公司,專職前端,公司雖仍處于創(chuàng)業(yè)階段,但產(chǎn)品線已經(jīng)拉得挺長的了,因此所碰到的癢點(diǎn)、痛點(diǎn)也不少。我本是PHPer出身,對傳統(tǒng)前端茹毛飲血的境況恨之入骨,幸得webpack這一神器,我感覺現(xiàn)在寫前端已經(jīng)跟寫PHP差不多了(大誤)。

示例代碼

諸位看本系列文章,搭配我的腳手架項(xiàng)目食用更佳哦(笑):Array-Huang/webpack-seed(https://github.com/Array-Huang/webpack-seed)。
上個(gè)文件目錄結(jié)構(gòu)讓大家一睹為快:

├─build # 編譯后生成的所有代碼、資源(圖片、字體等,雖然只是簡單的從源目錄遷移過來)
├─node_modules # 利用npm管理的所有包及其依賴
├─vendor # 所有不能用npm管理的第三方庫
├─.babelrc # babel的配置文件
├─.eslintrc # ESLint的配置文件
├─index.html # 僅作為重定向使用
├─package.json # npm的配置文件
├─webpack.config.js # webpack的配置文件
├─src # 當(dāng)前項(xiàng)目的源碼
    ├─pages # 各個(gè)頁面獨(dú)有的部分,如入口文件、只有該頁面使用到的css、模板文件等
    │  ├─alert # 業(yè)務(wù)模塊
    │  │  └─index # 具體頁面
    │  ├─index # 業(yè)務(wù)模塊
    │  │  ├─index # 具體頁面
    │  │  └─login # 具體頁面
    │  │      └─templates # 如果一個(gè)頁面的HTML比較復(fù)雜,可以分成多塊再拼在一起
    │  └─user # 業(yè)務(wù)模塊
    │      ├─edit-password # 具體頁面
    │      └─modify-info # 具體頁面
    └─public-resource # 各個(gè)頁面使用到的公共資源
        ├─components # 組件,可以是純HTML,也可以包含js/css/image等,看自己需要
        │  ├─footer # 頁尾
        │  ├─header # 頁頭
        │  ├─side-menu # 側(cè)邊欄
        │  └─top-nav # 頂部菜單
        ├─config # 各種配置文件
        ├─iconfont # iconfont的字體文件
        ├─imgs # 公用的圖片資源
        ├─layout # UI布局,組織各個(gè)組件拼起來,因應(yīng)需要可以有不同的布局套路
        │  ├─layout # 具體的布局套路
        │  └─layout-without-nav # 具體的布局套路
        ├─less # less文件,用sass的也可以,又或者是純css
        │  ├─base-dir
        │  ├─components-dir # 如果組件本身不需要js的,那么要加載組件的css比較困難,我建議可以直接用less來加載
        │  └─base.less # 組織所有的less文件
        ├─libs # 與業(yè)務(wù)邏輯無關(guān)的庫都可以放到這里
        └─logic # 業(yè)務(wù)邏輯
架構(gòu)痛點(diǎn)癢點(diǎn)一覽(并非系列文章的所有內(nèi)容)

SPA好復(fù)雜,我還是喜歡傳統(tǒng)的多頁應(yīng)用怎么破?又或是,我司項(xiàng)目需要后端渲染,頁面模板怎么出?

每個(gè)頁面相同的UI布局好難維護(hù),UI稍微改一點(diǎn)就要到每個(gè)頁面去改,好麻煩還容易漏,怎么破?

除js外的資源如css/less、圖片、swf、字體等,要怎么打包呢?不然老是要外部引用,遷移、部署起來都好麻煩呢。

某些年久失修的jQuery插件怎么在webpack里使用呢?

能不能整合進(jìn)ESLint來檢查語法?

能不能整合postcss來加強(qiáng)瀏覽器兼容性?

部署代碼的時(shí)候如何清除用戶瀏覽器遺留下來的上個(gè)版本的緩存?

后續(xù)發(fā)展

我相信,架構(gòu)不是一蹴而就的,而是一個(gè)不斷迭代的過程,每跨過一個(gè)坑、每解決一個(gè)痛點(diǎn)癢點(diǎn),都能使架構(gòu)更加健壯。

附系列文章目錄(同步更新)

webpack多頁應(yīng)用架構(gòu)系列(一):一步一步解決架構(gòu)痛點(diǎn):https://segmentfault.com/a/1190000006843916

webpack多頁應(yīng)用架構(gòu)系列(二):webpack配置常用部分有哪些?:https://segmentfault.com/a/1190000006863968

webpack多頁應(yīng)用架構(gòu)系列(三):怎么打包公共代碼才能避免重復(fù)?:https://segmentfault.com/a/1190000006871991

webpack多頁應(yīng)用架構(gòu)系列(四):老式j(luò)Query插件還不能丟,怎么兼容?:https://segmentfault.com/a/1190000006887523

webpack多頁應(yīng)用架構(gòu)系列(五):聽說webpack連less/css也能打包?:https://segmentfault.com/a/1190000006897458

webpack多頁應(yīng)用架構(gòu)系列(六):聽說webpack連圖片和字體也能打包?:https://segmentfault.com/a/1190000006907701

webpack多頁應(yīng)用架構(gòu)系列(七):開發(fā)環(huán)境、生產(chǎn)環(huán)境傻傻分不清楚?:https://segmentfault.com/a/1190000006952432

webpack多頁應(yīng)用架構(gòu)系列(八):教練我要寫ES6!webpack怎么整合Babel?:https://segmentfault.com/a/1190000006992218

webpack多頁應(yīng)用架構(gòu)系列(九):總有刁民想害朕!ESLint為你阻擊垃圾代碼:https://segmentfault.com/a/1190000007030775

webpack多頁應(yīng)用架構(gòu)系列(十):如何打造一個(gè)自定義的bootstrap:https://segmentfault.com/a/1190000007043716

webpack多頁應(yīng)用架構(gòu)系列(十一):預(yù)打包Dll,實(shí)現(xiàn)webpack音速編譯:https://segmentfault.com/a/1190000007104372

webpack多頁應(yīng)用架構(gòu)系列(十二):利用webpack生成HTML普通網(wǎng)頁&頁面模板:https://segmentfault.com/a/1190000007126268

webpack多頁應(yīng)用架構(gòu)系列(十三):構(gòu)建一個(gè)簡單的模板布局系統(tǒng):https://segmentfault.com/a/1190000007159115

webpack多頁應(yīng)用架構(gòu)系列(十四):No復(fù)制粘貼!多項(xiàng)目共用基礎(chǔ)設(shè)施

webpack多頁應(yīng)用架構(gòu)系列(十五):論前端如何在后端渲染開發(fā)模式下夾縫生存

webpack多頁應(yīng)用架構(gòu)系列(十六):善用瀏覽器緩存,該去則去,該留則留

本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。
原文地址:https://segmentfault.com/a/1190000006843916
如果您對本系列文章感興趣,歡迎關(guān)注訂閱這里:https://segmentfault.com/blog/array_huang

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80351.html

相關(guān)文章

  • webpack多頁應(yīng)用架構(gòu)系列(十三):構(gòu)建個(gè)簡單的模板布局系統(tǒng)

    摘要:原文地址如果您對本系列文章感興趣,歡迎關(guān)注訂閱這里前言上文多頁應(yīng)用架構(gòu)系列十二利用生成普通網(wǎng)頁頁面模板我們基本上已經(jīng)搞清楚如何利用來生成普通網(wǎng)頁頁面模板,本文將以我的腳手架項(xiàng)目介紹如何在這基礎(chǔ)上搭建一套簡單的模板布局系統(tǒng)。 本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址:https://segmentfault.com/a/1190000007...

    yedf 評論0 收藏0
  • webpack多頁應(yīng)用架構(gòu)系列(三):怎么打包公共代碼才能避免重復(fù)?

    摘要:在上一篇文章多頁應(yīng)用架構(gòu)系列二配置常用部分有哪些中,我介紹了如何配置多頁應(yīng)用的入口,然而,如果僅僅如此操作,帶來的后果就是,打包生成出來的每一個(gè)入口文件都會(huì)完整包含所有代碼。的初始化常用參數(shù)有哪些,給這個(gè)包含公共代碼的命個(gè)名唯一標(biāo)識。 本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址:https://segmentfault.com/a/1190...

    oliverhuang 評論0 收藏0
  • webpack多頁應(yīng)用架構(gòu)系列(九):總有刁民想害朕!ESLint為你阻擊垃圾代碼

    摘要:本文首發(fā)于的技術(shù)博客實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。如果你使用了,或類似的,那么,通過編譯前后的代碼相差就很大了,這會(huì)造成兩個(gè)問題以為例把你的代碼轉(zhuǎn)成什么樣你自己是無法控制的,這往往導(dǎo)致無法通過的審查。 本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址:https://segmentfault.com/a/1190000007030775如果您...

    dingding199389 評論0 收藏0
  • webpack多頁應(yīng)用架構(gòu)系列(十):預(yù)打包Dll,實(shí)現(xiàn)webpack音速編譯

    摘要:本文首發(fā)于的技術(shù)博客實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址如果您對本系列文章感興趣,歡迎關(guān)注訂閱這里前言書承上文多頁應(yīng)用架構(gòu)系列十如何打造一個(gè)自定義的。終于,發(fā)現(xiàn)了這一大殺器,打包時(shí)間過長的問題得到完美解決。 本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址:https://segmentfault.com/a/119000000710437...

    sixleaves 評論0 收藏0
  • webpack多頁應(yīng)用架構(gòu)系列(四):老式j(luò)Query插件還不能丟,怎么兼容?

    摘要:本文首發(fā)于的技術(shù)博客實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。怎么來兼容老式插件呢方法有不少,下面一個(gè)一個(gè)來看。與上述的方案相反,此方案是先用加載的滿足老式插件的需要,再通過將其轉(zhuǎn)換成符合模塊化要求的。 本文首發(fā)于Array_Huang的技術(shù)博客——實(shí)用至上,非經(jīng)作者同意,請勿轉(zhuǎn)載。原文地址:https://segmentfault.com/a/1190000006887523如果您對本系列文...

    Chao 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<