博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript 项目常用的一些配置文件
阅读量:6926 次
发布时间:2019-06-27

本文共 1331 字,大约阅读时间需要 4 分钟。

引子

基本上 GitHub 上优秀的javascript项目上面有很多零零碎碎的文件。如图,以koa为例

下文将一一说明这些个“奇怪”的文件是干什么的...

持续集成篇

持续集成(CI, Continuous integration),是将我们的代码规范化流程化。

相比于系统集成,CI希望每一次微小的代码修改,都会进行一次集成(可能包括构建,测试,发布等阶段),这样极大地加强了项目工程的可控性。

从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中[1]。那么 GitHub 中对于CI的支持如何呢?GitHub 可以采用任意第三方的 CI 服务,下面主要介绍其中的一种:travis-ci

travis-ci (.travis.yml)

官网:

该平台也是本人经常使用的 CI 平台,需要在项目跟目录下添加文件 .travis.yml,如:

language: node_jsnode_js: stableinstall:  - npm installscript:  - npm test

便是一个简单的配置文件参考,travis-ci 有下面几个生命周期,顺序如下:[2]

  1. before_install
  2. install
  3. before_script
  4. script
  5. after_success 或者 after_failure
  6. before_deploy
  7. deploy
  8. after_deploy
  9. after_script

同时 travis-ci 还提供了一大批的 Provider,以方便我们来书写一些常用的部署动作[3]

配置好了之后,同时在travis-ci认证提供之后,并且给对应的repo赋予权限,那么我们的每次commit都会触发按照上面的执行过程,在travis-ci提供的集群上执行。

其他 CI 平台

除了 travis-ci,市面上还有其他很多 CI 平台,如:react 项目中使用的 和 等等。至于这些平台的对比则不是该文章的讨论范畴了。

代码规范篇

代码规范又是另一个话题了,但是目的都是为了提高代码的可控性,减少 bug 率。

ESLint (.eslintrc.*, .eslintignore)

利用 ESLint 提供的若干规则,造出一份适合于自己或团队的代码规范配置,同时 .eslintignore 用 glob file 规则去忽略文件

Prettier (.prettierrc, .prettierignore)

只是用来纯粹美化代码。

工具篇

CodeCov (.codecov.yml)

一个好的工程,离不开一系列的测试,CodeCov 则是用来报告测试中代码覆盖率的工具

Babel (.babelrc, .babelignore)

NPM (.npmrc)

这俩兄弟不多做解释了,前端都知道~

其他

.editorconfig

我们在不同编辑器,不同系统平台编写同一项目代码时,常常会遇到代码格式不统一的问题,该文件则是用来抹去这种差异!

以上便是比较常用的一些javascript项目的配置文件说明,后续还会不断添加,欢迎大家伙指正添加。

参考

  • [1]
  • [2]
  • [3]

clipboard.png

转载地址:http://fbujl.baihongyu.com/

你可能感兴趣的文章
POJ2029——Get Many Persimmon Trees
查看>>
精彩理发头盔
查看>>
Android基调(十六)- Service:startService()、stopService()、bindService()、unbindService()加...
查看>>
linux 安装jdk
查看>>
ubuntu 编译android 源码笔记
查看>>
ExtJS4.2学习(10)分组表格控件--GroupingGrid(转)
查看>>
【iCore3 双核心板】例程六:IWDG看门狗实验——复位ARM
查看>>
使用AppCompat_v7 21.0.0d的几个兼容问题
查看>>
MODBUS RTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数...
查看>>
微信公众号通过链接实现关注(盗用广告主流量主)
查看>>
JS实现类似QQ好友头像hover时显示资料卡的效果
查看>>
离屏渲染优化
查看>>
php 中file_get_contents超时问题的解决方法
查看>>
Oracle 11g RAC oc4j/gsd Offline
查看>>
Ajax下载文件(页面无刷新)
查看>>
[译]Node.js - Event Loop
查看>>
Creating, Stopping, Re-Starting and Deleting a Timer in Oracle Forms
查看>>
laravel 使用 session
查看>>
数据库实例: STOREBOOK > 用户 > 编辑 用户: MGMT_VIEW
查看>>
AjaxPro因为汉字文件夹引发的IE兼容性问题
查看>>