国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用bower可能會(huì)遇到的5個(gè)問(wèn)題

singerye / 923人閱讀

摘要:是業(yè)界使用率比較高的前端組件管理工具,基本上類似于,但解決了項(xiàng)目中同一個(gè)庫(kù)的引入多個(gè)版本的問(wèn)題。然后覺(jué)得的這個(gè)是有問(wèn)題的,沒(méi)有接受,于是很可能后面從新拉的不包含這部分接口。

bower是業(yè)界使用率比較高的前端組件管理工具,基本上類似于npm,但解決了項(xiàng)目中同一個(gè)庫(kù)的引入多個(gè)版本的問(wèn)題。大家知道,同一個(gè)庫(kù)版本并存這對(duì)于node來(lái)說(shuō)很正常,但對(duì)于瀏覽器來(lái)說(shuō)幾乎是不可接受的。以下是我們使用bower遇到的5個(gè)問(wèn)題和我們的取舍與選擇。

一、組件版本用master 還是 tag?

新組件在快速迭代、小范圍使用的情況下推薦用master
其他情況使用tag,上面代碼段里的v0.0.5就是tag的版本號(hào)。

{                                       
  ...
  "dependencies": {
    "pop": "git@git.qima-inc.com:bower_components/pop.git#v0.0.5",
    "loader": "git@git.qima-inc.com:bower_components/loader.git#v1.1.0",
    "youzanjsbridge": "git@git.qima-inc.com:bower_components/youzanjsbridge.git#v0.0.3"
    ...
  }
  ...
}
二、我要穩(wěn)定:發(fā)現(xiàn)版本不一致怎么辦?

可以在數(shù)字前面加!,讓這個(gè)選擇固定到bower.json里,下次別人執(zhí)行bower update 就會(huì)直接選擇你選定的版本了。

如下圖:再一次執(zhí)行bower udpate 就自動(dòng)選擇了之前固定下來(lái)的版本了。

三、如何把所有組件更新到最新版?

可以安裝個(gè)工具 bower-update

npm install bower-update -g

在工程目錄里執(zhí)行bower-update后會(huì)挨個(gè)讓你確認(rèn)要不要把某個(gè)組件升級(jí)到最新版本,最后你的選擇會(huì)被寫到bower.json里。

四、版本號(hào)必須以 v 打頭么?

經(jīng)測(cè)試,bower對(duì)tag的版本號(hào)里開(kāi)頭的 v 是做了自適應(yīng)的,比如:

假設(shè)
遠(yuǎn)程服務(wù)器上有2個(gè)版本的tag,分布是 v0.0.1 和 0.0.2
那么本地bower.json里
如果要使用0.0.1版本,無(wú)論指定版本號(hào)為“#0.0.1” 還是 “#v0.0.1”
如果要使用0.0.2版本,無(wú)論指定版本號(hào)為“#0.0.2” 還是 “#v0.0.2”
都是可以的并且能下到正確的代碼

五、bower組件代碼的升級(jí)迭代如何管理

我們的經(jīng)驗(yàn)是:
1、組件盡量拆分地細(xì)粒度,一個(gè)組件或者一類組件放在一個(gè)git倉(cāng)庫(kù)里

2、相近范疇和功能的組件在一個(gè)git倉(cāng)庫(kù)里

3、每個(gè)git倉(cāng)庫(kù)由一兩個(gè)人主要維護(hù)(在gitlab里的話就是給他設(shè)master權(quán)限),其他人要改代碼,需要提交pull request,由負(fù)責(zé)維護(hù)的人審查代碼,合并代碼并拉新的tag出來(lái)

我們發(fā)現(xiàn) gitlab 里 develop 權(quán)限的用戶也能自己拉 tag(要命的是我們還沒(méi)發(fā)現(xiàn)如何禁止這個(gè)操作),解決有人提了一個(gè)分支上來(lái),沒(méi)等維護(hù)的人合并就基于這個(gè)分支拉了個(gè)tag出來(lái),自己很歡快的用起來(lái)了。實(shí)際上這么玩會(huì)有很大的坑的,所以需要團(tuán)隊(duì)內(nèi)部需要做一個(gè)約定:只有維護(hù)的人才可以拉tag

補(bǔ)充下為什么說(shuō)隨便拉tag會(huì)有坑——舉個(gè)例子:項(xiàng)目X是A在維護(hù)的,B提交了一個(gè)分支并發(fā)起一個(gè)pull request,沒(méi)等A接受這個(gè)pull request拉出新tag,B直接基于自己的hotfix拉的tag,其他人依賴這個(gè)新tag提供的接口寫了些代碼。然后A覺(jué)得B的這個(gè)pull request是有問(wèn)題的,沒(méi)有接受,于是很可能后面從master新拉的 tag 不包含這部分接口。于是就出現(xiàn)了 0.1.2 版本不兼容 0.1.1 版本的情形。

本文首發(fā)于我的
SegmentFault專欄:http://segmentfault.com/a/1190000004189341
個(gè)人技術(shù)博客:http://delai.me/code/bower/
轉(zhuǎn)載請(qǐng)注明出處

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78358.html

相關(guān)文章

  • 關(guān)于yo+gulp+bower一起構(gòu)建應(yīng)用時(shí)遇到一些問(wèn)題總結(jié)

    摘要:?jiǎn)栴}一在中配置開(kāi)發(fā)測(cè)試時(shí)用得庫(kù),無(wú)法在運(yùn)行時(shí)注入。解決辦法分如下幾步,在自己的里直接將變量重寫,指向正確的相對(duì)位置即可。 問(wèn)題一、在bower中配置開(kāi)發(fā)測(cè)試時(shí)用得庫(kù),無(wú)法在運(yùn)行時(shí)注入。首先是打算有一些測(cè)試時(shí)候用到的庫(kù),放到bower.json文件的devDependencies里面,但是運(yùn)行之后怎么也找不到對(duì)應(yīng)的文件,也就是gulp無(wú)法進(jìn)行注入,而加到正式的庫(kù)里面就能找到解決辦法參看了...

    cnsworder 評(píng)論0 收藏0
  • Java? 教程(并發(fā)活性)

    并發(fā)活性 并發(fā)應(yīng)用程序及時(shí)執(zhí)行的能力被稱為其活性,本節(jié)描述了最常見(jiàn)的活性問(wèn)題,死鎖,并繼續(xù)簡(jiǎn)要描述其他兩個(gè)活性問(wèn)題,饑餓和活鎖。 死鎖 死鎖描述了兩個(gè)或多個(gè)線程永遠(yuǎn)被阻塞,等待彼此的情況,這是一個(gè)例子。 Alphonse和Gaston是朋友,是禮貌的忠實(shí)信徒,禮貌的一個(gè)嚴(yán)格規(guī)則是,當(dāng)你向朋友鞠躬時(shí),你必須一直鞠躬,直到你的朋友有機(jī)會(huì)還禮,不幸的是,這條規(guī)則沒(méi)有考慮到兩個(gè)朋友可能同時(shí)互相鞠躬的可能性...

    KaltZK 評(píng)論0 收藏0
  • MEAN.js 文檔

    摘要:感謝使用框架本文檔涵蓋構(gòu)建應(yīng)用所需的基礎(chǔ)知識(shí)。用于數(shù)據(jù)校驗(yàn)的組件及相關(guān)文件在此目錄進(jìn)行管理。除了自定義中間件外,還是用了諸多第三方的中間件,它們是五測(cè)試我們使用組件對(duì)服務(wù)端代碼進(jìn)行測(cè)試。識(shí)別當(dāng)前導(dǎo)航從已有導(dǎo)航中刪除給定標(biāo)識(shí)的導(dǎo)航配置。 本文同步至個(gè)人博客 MEAN.js 文檔,轉(zhuǎn)載請(qǐng)注明出處。 Overview 感謝使用 MEAN.js 框架! 本文檔涵蓋構(gòu)建 MEAN 應(yīng)用所需的基礎(chǔ)...

    Hydrogen 評(píng)論0 收藏0
  • 創(chuàng)建 Web 前端開(kāi)發(fā)環(huán)境

    摘要:前端開(kāi)發(fā)涉及多種工具,這里將常用工具的安裝和配置進(jìn)行說(shuō)明,提供了詳細(xì)的說(shuō)明,為后繼的開(kāi)發(fā)創(chuàng)建一個(gè)堅(jiān)實(shí)的基礎(chǔ)。是目前最為流行的源代碼管理網(wǎng)站。安裝在繼續(xù)學(xué)習(xí)前,你需要先將命令行安裝到全局環(huán)境中。 Web 前端開(kāi)發(fā)涉及多種工具,這里將常用工具的安裝和配置進(jìn)行說(shuō)明,提供了詳細(xì)的說(shuō)明,為后繼的開(kāi)發(fā)創(chuàng)建一個(gè)堅(jiān)實(shí)的基礎(chǔ)。 本文介紹的工具有:NodeJS, NPM, Bower, Git 和 Gru...

    Sanchi 評(píng)論0 收藏0
  • 創(chuàng)建 Web 前端開(kāi)發(fā)環(huán)境

    摘要:前端開(kāi)發(fā)涉及多種工具,這里將常用工具的安裝和配置進(jìn)行說(shuō)明,提供了詳細(xì)的說(shuō)明,為后繼的開(kāi)發(fā)創(chuàng)建一個(gè)堅(jiān)實(shí)的基礎(chǔ)。是目前最為流行的源代碼管理網(wǎng)站。安裝在繼續(xù)學(xué)習(xí)前,你需要先將命令行安裝到全局環(huán)境中。 Web 前端開(kāi)發(fā)涉及多種工具,這里將常用工具的安裝和配置進(jìn)行說(shuō)明,提供了詳細(xì)的說(shuō)明,為后繼的開(kāi)發(fā)創(chuàng)建一個(gè)堅(jiān)實(shí)的基礎(chǔ)。 本文介紹的工具有:NodeJS, NPM, Bower, Git 和 Gru...

    2i18ns 評(píng)論0 收藏0

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<