亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

再談前端項(xiàng)目的組件化

hufeng / 2181人閱讀

摘要:再談前端項(xiàng)目的組件化之前詳細(xì)聊過(guò)的前端項(xiàng)目的組件化,可以參考組件化與私有倉(cāng)庫(kù),今天來(lái)更進(jìn)一步的說(shuō)說(shuō)前端項(xiàng)目的組件化。

再談前端項(xiàng)目的組件化

之前詳細(xì)聊過(guò)的前端項(xiàng)目的組件化,可以參考 組件化 與 私有 npm 倉(cāng)庫(kù),今天來(lái)更進(jìn)一步的說(shuō)說(shuō)前端項(xiàng)目的組件化。

1. 之前的組件化

目錄結(jié)構(gòu):

-project1     # 項(xiàng)目1
-project2     # 項(xiàng)目2
-component1   # 組件1
-component2   # 組件2

project1package.json

{
  "dependencies": {
    "@yourCompany/component1": "^0.0.1",
    "@yourCompany/component2": "^0.0.1"
  }
}

在代碼中使用:

import component1 from "@yourCompany/component1";
2. 之前的組件化方式存在的問(wèn)題

更新組件比較麻煩,特別是對(duì)于一些與業(yè)務(wù)耦合比較深的組件,頻繁更新會(huì)比較頭疼

組件太多的時(shí)候,管理起來(lái)就感覺(jué)比較累,因?yàn)槊總€(gè)組件都是一個(gè)多帶帶的項(xiàng)目,都有一套獨(dú)立的構(gòu)建環(huán)境

對(duì)于有些代碼量小的組件,做一個(gè)多帶帶的項(xiàng)目,實(shí)在有點(diǎn)大才小用

3. 另外的項(xiàng)目組件化方式

針對(duì)上面講到的問(wèn)題,另一種方式可以很好的解決:

目錄結(jié)構(gòu):

-project1     # 項(xiàng)目1
-project2     # 項(xiàng)目2
-components   # 組件集合項(xiàng)目

components 組件集合項(xiàng)目的目錄結(jié)構(gòu):

- src/             # 源代碼目錄
  - component1     # 組件1
  - component2     # 組件2
  - component3     # 組件3
  - ...

- package.json
- README.md
- CHANGELOG.md
- .eslintrc.js
- .stylelintrc.js
- .prettierrc.js
- ...

components 目錄軟鏈接 project1 目錄下:

(注意: project1.gitignore 需加上 /components

# 以下是 linux 命令,windows 類(lèi)似
cd project1
ln -s ../components ./

project1 項(xiàng)目的目錄結(jié)構(gòu):

- src/             # 源代碼目錄
- components/      # 組件項(xiàng)目目錄(軟鏈接)

- package.json
- README.md
- CHANGELOG.md
- .eslintrc.js
- .stylelintrc.js
- .prettierrc.js
- ...

在代碼中使用:

import component1 from "relative/path/to/components/src/component1";
4. 兩種方式的選擇

上面的兩種方式各有各的優(yōu)勢(shì),可以配合一起使用。

大的、不常更新的組件可以使用 npm 包的方式,小的、常更新的可以使用軟鏈接項(xiàng)目的方式。

后續(xù)

更多博客,查看 https://github.com/senntyou/blogs

作者:深予之 (@senntyou)

版權(quán)聲明:自由轉(zhuǎn)載-非商用-非衍生-保持署名(創(chuàng)意共享3.0許可證)

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104877.html

相關(guān)文章

  • 再談前后端分離

    摘要:前段時(shí)間我針對(duì)手頭上的項(xiàng)目前端配置進(jìn)行了反思以及總結(jié)并且寫(xiě)了兩篇文章傳統(tǒng)后端渲染的項(xiàng)目前端配置配置之前后端不分離很顯然這些配置能滿足一時(shí)的需求但是也有不足今天繼續(xù)總結(jié)這里應(yīng)該不涉及到具體后端語(yǔ)言只對(duì)前端配置進(jìn)行描述畢竟配置工程師逃靜態(tài)資源管 前段時(shí)間我針對(duì)手頭上的項(xiàng)目前端配置進(jìn)行了反思以及總結(jié)并且寫(xiě)了兩篇文章: webpack傳統(tǒng)后端渲染的項(xiàng)目前端配置, webpack配置之前后端不分...

    Jeff 評(píng)論0 收藏0
  • 再談Vue生命周期----結(jié)合Vue源碼

    摘要:中的生命周期函數(shù)也可以稱(chēng)之為生命周期鉤子函數(shù),在特定的時(shí)期,調(diào)用特定的函數(shù)。吊起鉤子函數(shù)調(diào)起鉤子函數(shù)問(wèn)題為什么是一個(gè)數(shù)組卸載組件,會(huì)觸發(fā)一個(gè)這行代碼之后發(fā)生了什么背后實(shí)現(xiàn)原理。 簡(jiǎn)介 關(guān)于Vue的生命周期函數(shù),目前網(wǎng)上有許多介紹文章,但也都只是分析了表象。這篇文檔,將結(jié)合Vue源碼分析,為什么會(huì)有這樣的表象。 Vue中的生命周期函數(shù)也可以稱(chēng)之為生命周期鉤子(hook)函數(shù),在特定的時(shí)期...

    KavenFan 評(píng)論0 收藏0
  • 構(gòu)建前端項(xiàng)目

    摘要:解決思路服務(wù)器端渲染服務(wù)器端和前端公用同一個(gè)應(yīng)用,然后通過(guò)構(gòu)建工具及配置,確定哪些組件需要再服務(wù)器端渲染,那些組件需要再客戶(hù)端渲染。服務(wù)器端渲染,由框架與構(gòu)建工具配合,并依據(jù)一定的項(xiàng)目結(jié)構(gòu)和編碼方式,共同運(yùn)行。 分離 為什么需要 前后端分離、web服務(wù)器與static服務(wù)器分離: 前端與后端耦合 (需求) 自動(dòng)化、工程化的構(gòu)建前端的代碼 (基礎(chǔ)條件) 模塊化、組件化,項(xiàng)目共享代碼 (...

    mindwind 評(píng)論0 收藏0
  • CI Weekly #6 | 再談 Docker / CI / CD 實(shí)踐經(jīng)驗(yàn)

    摘要:阿里云效平臺(tái)基于理念的私有平臺(tái)實(shí)踐本文將系統(tǒng)的從個(gè)方面,分享互娛運(yùn)維團(tuán)隊(duì)對(duì)于運(yùn)維平臺(tái)實(shí)踐經(jīng)驗(yàn)及未來(lái)展望,希望對(duì)大家有一些參考意義。 CI Weekly 圍繞『 軟件工程效率提升』 進(jìn)行一系列技術(shù)內(nèi)容分享,包括國(guó)內(nèi)外持續(xù)集成、持續(xù)交付,持續(xù)部署、自動(dòng)化測(cè)試、 DevOps 等實(shí)踐教程、工具與資源,以及一些工程師文化相關(guān)的程序員 Tips 。同步于 flow.ci Blog、微信公眾號(hào)、官...

    justCoding 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<