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

資訊專欄INFORMATION COLUMN

Javascript 項(xiàng)目常用的一些配置文件

zxhaaa / 3392人閱讀

摘要:引子基本上上優(yōu)秀的項(xiàng)目上面有很多零零碎碎的文件。其他平臺(tái)除了,市面上還有其他很多平臺(tái),如項(xiàng)目中使用的和等等。利用提供的若干規(guī)則,造出一份適合于自己或團(tuán)隊(duì)的代碼規(guī)范配置,同時(shí)用規(guī)則去忽略文件只是用來(lái)純粹美化代碼。

引子

基本上 GitHub 上優(yōu)秀的javascript項(xiàng)目上面有很多零零碎碎的文件。如圖,以koa為例

下文將一一說(shuō)明這些個(gè)“奇怪”的文件是干什么的...

持續(xù)集成篇

持續(xù)集成(CI, Continuous integration),是將我們的代碼規(guī)范化流程化。
相比于系統(tǒng)集成,CI希望每一次微小的代碼修改,都會(huì)進(jìn)行一次集成(可能包括構(gòu)建,測(cè)試,發(fā)布等階段),這樣極大地加強(qiáng)了項(xiàng)目工程的可控性。

從 GitLab 8.0 開始,GitLab CI 就已經(jīng)集成在 GitLab 中[1]。那么 GitHub 中對(duì)于CI的支持如何呢?GitHub 可以采用任意第三方的 CI 服務(wù),下面主要介紹其中的一種:travis-ci

travis-ci (.travis.yml)

官網(wǎng):https://travis-ci.org/
該平臺(tái)也是本人經(jīng)常使用的 CI 平臺(tái),需要在項(xiàng)目跟目錄下添加文件 .travis.yml,如:

language: node_js
node_js: stable

install:
  - npm install
script:
  - npm test

便是一個(gè)簡(jiǎn)單的配置文件參考,travis-ci 有下面幾個(gè)生命周期,順序如下:[2]

before_install

install

before_script

script

after_success 或者 after_failure

before_deploy

deploy

after_deploy

after_script

同時(shí) travis-ci 還提供了一大批的 Provider,以方便我們來(lái)書寫一些常用的部署動(dòng)作[3]

配置好了之后,同時(shí)在travis-ci認(rèn)證提供之后,并且給對(duì)應(yīng)的repo賦予權(quán)限,那么我們的每次commit都會(huì)觸發(fā)按照上面的執(zhí)行過(guò)程,在travis-ci提供的集群上執(zhí)行。

其他 CI 平臺(tái)

除了 travis-ci,市面上還有其他很多 CI 平臺(tái),如:react 項(xiàng)目中使用的 appveyor 和 CircleCi 等等。至于這些平臺(tái)的對(duì)比則不是該文章的討論范疇了。

代碼規(guī)范篇

代碼規(guī)范又是另一個(gè)話題了,但是目的都是為了提高代碼的可控性,減少 bug 率。

ESLint (.eslintrc.*, .eslintignore)

利用 ESLint 提供的若干規(guī)則,造出一份適合于自己或團(tuán)隊(duì)的代碼規(guī)范配置,同時(shí) .eslintignore 用 glob file 規(guī)則去忽略文件

Prettier (.prettierrc, .prettierignore)

Prettier 只是用來(lái)純粹美化代碼。

工具篇 CodeCov (.codecov.yml)

一個(gè)好的工程,離不開一系列的測(cè)試,CodeCov 則是用來(lái)報(bào)告測(cè)試中代碼覆蓋率的工具

Babel (.babelrc, .babelignore) NPM (.npmrc)

這倆兄弟不多做解釋了,前端都知道~

其他 .editorconfig

http://editorconfig.org/
我們?cè)诓煌庉嬈?,不同系統(tǒng)平臺(tái)編寫同一項(xiàng)目代碼時(shí),常常會(huì)遇到代碼格式不統(tǒng)一的問(wèn)題,該文件則是用來(lái)抹去這種差異!

結(jié)

以上便是比較常用的一些javascript項(xiàng)目的配置文件說(shuō)明,后續(xù)還會(huì)不斷添加,歡迎大家伙指正添加。

參考

[1] 用 GitLab CI 進(jìn)行持續(xù)集成

[2] travis-ci: Customizing the Build

[3] travis-ci: Deployment

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

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

相關(guān)文章

  • TCMwebpack配置常用插件

    摘要:中的配置熱加載插件安裝中的配置優(yōu)化插件為組件分配,通過(guò)這個(gè)插件可以分析和優(yōu)先考慮使用最多的模塊,并為它們分配最小的壓縮代碼分離和文件 0 前言 本文是針對(duì)TCM項(xiàng)目所做的WebPack配置文件總結(jié),主要概述了一些常用配置選項(xiàng)和插件使用,對(duì)以后的項(xiàng)目有指導(dǎo)意義。TCM的webpack配置文件包括webapck.config.base.js、webapck.config.dev.js、we...

    羅志環(huán) 評(píng)論0 收藏0
  • TCMwebpack配置常用插件

    摘要:中的配置熱加載插件安裝中的配置優(yōu)化插件為組件分配,通過(guò)這個(gè)插件可以分析和優(yōu)先考慮使用最多的模塊,并為它們分配最小的壓縮代碼分離和文件 0 前言 本文是針對(duì)TCM項(xiàng)目所做的WebPack配置文件總結(jié),主要概述了一些常用配置選項(xiàng)和插件使用,對(duì)以后的項(xiàng)目有指導(dǎo)意義。TCM的webpack配置文件包括webapck.config.base.js、webapck.config.dev.js、we...

    張憲坤 評(píng)論0 收藏0
  • NPM — JavaScript 包管理器

    摘要:是的默認(rèn)模塊管理器,一個(gè)命令行下的軟件,用來(lái)安裝和管理模塊,同時(shí)也可以管理其他開放式的模塊代碼。的包管理器可以查看所有可使用的命令。發(fā)布記得在推之前先登錄要不然會(huì)報(bào)錯(cuò)。最后需要把文件里面的刪除掉要不然上傳時(shí)會(huì)忽略掉打包的文件。 本文主要介紹npm的常用命令,以及如何發(fā)布一些常用的js模塊化代碼到npm上面方便日后的使用,和舉例如何把一個(gè)vue組件打包發(fā)布到npm到最后下載到本地使用的過(guò)...

    ZweiZhao 評(píng)論0 收藏0
  • 前端常用技術(shù)概述--Less、typescript與webpack

    摘要:前言講起前端,我們就不能不講與,在這兩種技術(shù)廣泛應(yīng)用的今天,他們的擴(kuò)展也是層出不窮,的擴(kuò)展有等,的超集有等。如下注意你的樣式文件一定要在引入前先引入。截止目前,已經(jīng)發(fā)布了最新的版本。 前言:講起前端,我們就不能不講CSS與Javascript,在這兩種技術(shù)廣泛應(yīng)用的今天,他們的擴(kuò)展也是層出不窮,css的擴(kuò)展有Less、Sass、Stylus等,js的超集有Typescript等。今天我們就簡(jiǎn)...

    番茄西紅柿 評(píng)論0 收藏0

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

0條評(píng)論

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