阿里巴巴前端代码规范集成工具F2ELint使用教程

前言

  最近开始学习前端,新建了一个前端项目,打算从项目初期就把项目的地基打好,定义好这个项目的编码和工程规范,原本的方案是分别部署Eslint + Prettier + Husky + Commitlint+ Lint-staged。这一套方案如果挨个部署要写好多配置文件,挺耗费精力的,后来我发现了阿里巴巴有一个「阿里巴巴前端规约」项目,项目主要包括「规约文档」和「配套工具」两部分,目前只开放了「配套工具」部分,可以使用 F2ELint 等配套工具实现项目规范。
  项目是去年才开始的,知道的人还不多,每周的下载量也就几百。目前(2022.3.8)在github上只有267颗星星 ,8天前发布了2.2.1版本。推荐下载尝鲜。
F2ELint下载量

过程

f2elint安装

  首先需要初始化项目,生成package.json文件:

npm init

  定义好项目相关信息后,安装f2elint

npm install f2elint -g 
# 或使用淘宝镜像
npm install f2elint -g --registry=http://registry.npm.taobao.org 

  安装过程会叫你选择这个项目相关语言、框架、lint信息,我的项目目前没使用Vue等框架,同时也不需要MarkdownLint,所以就选了styleLint和Prettier格式化代码(Eslint和Commitlint是默认的)。大家可根据自己的项目实际情况进行选择。
f2elint安装过程
  安装完成后,可执行 f2elint -h 以验证安装成功。
  在项目根目录执行 f2elint init,即可一键接入规约,为项目安装规约 Lint 所需的依赖和配置。

f2elint init

f2elint init
  f2elint写入了各种配置文件,具体内容如下:

文件名功能
.eslintrc.js、.eslintignoreESLint 配置(继承 eslint-config-ali)及黑名单文件
.stylelintrc.js、.stylelintignorestylelint 配置(继承 stylelint-config-ali)及黑名单文件
commitlint.config.jscommitlint 配置(继承 commitlint-config-ali)
.markdownlint.json、.markdownlintignoremarkdownlint 配置及黑名单文件
.prettierrc.js符合规约的 Prettier 配置
.editorconfig符合规约的 editorconfig
.vscode/extensions.json写入规约相关的 VSCode 插件推荐,包括 ESLint、stylelint、markdownlint、prettier 等
.vscode/settings.json写入规约相关的 VSCode 设置,设置 ESLint 和 stylelint 插件的 validate 及保存时自动运行 fix,如果选择使用 Prettier,会同时将 prettier-vscode 插件设置为各前端语言的 defaultFormatter,并配置保存时自动格式化

  同时f2elint配置了 git commit 卡口,在 git commit 时会运行 f2elint commit-file-scan 和 f2elint commit-msg-scan 分别对提交文件和提交信息进行规约检查。

vscode安装eslint、stylelint、prettierrc

  在vscode中安装eslint、styleint和prettierrc三个插件。
eslint
styleint
prettierrc
  安装好后无需配置,插件会自动找到项目中的.eslintrc.js、.stylelintrc.js、.prettierrc.js等配置文件,到此为止,就可以正常使用阿里的前端命名规范自己的项目了。以下是格式化示例:
自动格式化
Eslint展示

git

  初始化git本地仓库,提交代码并连上github。(github上必须要先创建一个仓库)

git init
git add .
git commit -m "xxxxx"
git remote add origin https://github.com/XXXXX/projectname.git

  同时,我创建了一个.gitignore文件,将不需要上传到仓库上的配置文件写了进去,具体内容如下:

.vscode/
node_modules/
.editorconfig
.eslintignore
.eslintrc.js
.prettierrc.js
.stylelintignore
.stylelintrc.js
commitlint.config.js
f2elint.config.js
package.json
package-lock.json

  这样仓库中就只存在项目文件。
在这里插入图片描述

husky安装

  husky可以让我们向项目中方便添加git hooks。在 git commit 时会运行 f2elint commit-file-scan 和 f2elint commit-msg-scan 分别对提交文件和提交信息进行规约检查。

# 安装husky
npm install husky --save-dev

  安装好后,如果没有按照规范提交,就会提示提交失败,以下是两个提交失败的例子,第一个不符合ESlint规范,第二个不符合commit规范。

不符合ESlint规范
不符合commit规范
  提交成功如图:
在这里插入图片描述

Git Commit 规范

<type>(<scope>): <subject>

  type:用于说明 commit 的类别,只允许使用下面8个标识。

  1. feat:新功能(feature)
  2. fix:修补bug
  3. docs:文档(documentation)
  4. style: 格式(不影响代码运行的变动)
  5. refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  6. test:增加测试
  7. chore:构建过程或辅助工具的变动
  8. build: 本地creator构建

  scope:用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
  subject是 commit 目的的简短描述,不超过50个字符。

  1. 以动词开头,使用第一人称现在时,比如change,而不是changed或changes
  2. 第一个字母小写
  3. 结尾不加句号(.)

可能遇到的问题

  如果在执行f2elint init时,提示:因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
  这是因为计算机上启动 Windows PowerShell 时,执行策略很可能是 Restricted(默认设置)。 Restricted 执行策略不允许任何脚本运行。

# 输入后选y,更改执行策略
set-executionpolicy remotesigned

执行策略

参考链接

阿里巴巴前端规约及配套工具Github仓库
f2elint Npm包
git原理–commit规范
PowerShell:因为在此系统上禁止运行脚本,解决方法

orzzd
关注 关注
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
2024最新阿里代码规范前端篇)
2401_84092809的博客
04-18 967
必须使用 camelCase 驼峰命名必须指定类型必须加上注释,表明其含义必须加上 required 或者 default,两者二选其一如果有业务需要,必须加上 validator 验证props: {// 组件状态,用于控制组件的颜色status: {return [‘succ’,‘info’,‘error’== -1},// 用户级别,用于显示皇冠个数整理面试题,不是让大家去只刷面试题,而是熟悉目前实际面试中常见的考察方式和知识点,做到心中有数,也可以用来自查及完善知识体系。
2024最新阿里代码规范前端篇),看这篇足矣了
最新发布
2401_83977705的博客
03-31 1736
必须使用 camelCase 驼峰命名必须指定类型必须加上注释,表明其含义必须加上 required 或者 default,两者二选其一如果有业务需要,必须加上 validator 验证props: {// 组件状态,用于控制组件的颜色status: {return [‘succ’,‘info’,‘error’== -1},// 用户级别,用于显示皇冠个数。
电子情报(ELINT)—雷达信号截获与分析(修正版)20181112
11-12
此书为修改版,部分旋转的页面已调整,清晰度正常水平,可以直接下载阅读、打印。 本书作者:(美国)威利(RichardG.Wiley),分别于1959年和1960年获得卡内基梅隆大学电子工程学士学位和硕士学位。在Syracuse大学研究院(SUR,C)工作一段时间后,于1961~1963年在美国陆军服役,1963~1967年继续其在Syracuse大学研究院的工作,1967~1974年工作于微波系统公司并同时在Syracuse大学继续深造,于1975年获得电子工程博士学位。1975~1985年,Wiley博士作为一名骨干咨询工程师,工作于Syracuse研究院,而后成为Syracuse研究协会的一名创始人,并担当首席科学家(目前仍担任该职务)。Wiley博士是IEEE会员和老乌鸦协会(AOC)成员,2001年被任命为AOC专业发展委员会主席,负责AOC的继续教育计划。 本书简介:电子情报(ELINT)是现代和未来高技术战争中成功遂行电子战、信息战行动的基础与保证。本书对ELINT涉及的主要问题进行了全面系统的深入研究,给出了雷达距离方程和截获概率的基础理论,讨论了ELINT系统的性能特征和功能组成,描述了脉冲重复间隔和脉内分析新技术,探讨了如何应对低截获概率雷达的挑战,力图通过对雷达信号的截获与分析,有效提高雷达信号识别的精度,准确判定雷达的功能与配置。
阿里前端开发规范.pdf
10-21
阿里前端开发规范.pdf
电子情报(ELINT)——雷达信号截获与分析
05-04
电子战好资料,专门介绍雷达信号的分析的书本,本书是英文版的。译文,很难得到。
阿里巴巴前端开发规范.docx
07-10
阿里巴巴前端开发规范.docx
设置webstorm和idea符合Alibaba规范 git提交规范
wuyanwenyun的博客
12-06 941
设置webstorm和idea符合Alibaba规范
前端代码规范神器之f2elint使用教程
卫可冬的博客
07-28 1953
日常开发中,项目基本上都是由多个人进行开发和维护,每个人的代码书写习惯和风格又不尽相同,commit的提交信息也是杂乱无章,为以后的开发和维护增添了很多困难。F2ELint是《阿里巴巴前端规约》的配套Lint工具,可以为项目一键接入规约、一键扫描和修复规约问题,保障项目的编码规范代码质量。安装好后无需配置,插件会自动找到项目中的.eslintrc.js、.stylelintrc.js、.prettierrc.js等配置文件,到此为止,就可以正常使用【阿里巴巴前端规约】来规范自己的项目了。......
(一) 规范目的
lj1530562965的博客
10-21 639
导学规范目的 规范目的 为了编写高质量的代码,使团队编写的代码具有一致性,增加可读性,使团队合作更加高效! 引自《阿里规约》的开头片段: ----现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流
elint:一种简化代码的简便方法
02-05
爱林特 单元 系统 专为团队设计的lint工具 目录: 1.核心概念 在使用elint之前,需要先了解几个核心概念。 1.1。 爱林特 elint是一种代码校验工具,基于eslint,stylelint,commitlint,prettier等工具封装而成。elint本身不包含任何校准规则,校验规则通过预置定义。elint的主要功能包括: 支持对js,css的验证(eslint,stylelint)。 支持对git commit message的检验(husky,commitlint)。 支持对代码进行格式化(更漂亮)。 编写定制化,场景化的预设,预设包含所有验证规则,确
前端代码规范(阿里) --- html、css、less
pig_is_duck的博客
05-16 3476
程序员写好看的代码,不亚于写一行好看的字 好看的代码总是让人心旷神怡, 不好,不规范代码,让人看了想说mmp, 那我们就来学习一下规范代码怎么写的吧 以下来自B站的学习视频:前端必备-阿里大厂前端开发规范! 一、命名规范 (一) 项目命名 全部采用小写的方式 以中划线分割 正确命名:mall-management-system (商城管理系统) 错误命名:mall-management-system 或 mallManagementSystem (二) 目录命名 全部采用小写的方式 以中划线命名
阿里巴巴开发手册终极版2019
06-27
阿里巴巴开发手册终极版2019
java、前端代码规范阿里巴巴).zip
03-29
文档-代码开发规范阿里巴巴java代码规范前端代码规范),两个pdf
阿里代码规约.pdf
06-06
阿里代码规约深度解析,帮助读者快速熟悉阿里代码规约,阿里代码规约从而满足业务需求
ELINT Alchemist:绘制,分析和测量ELINT基于时间的数据。-开源
04-29
该程序将打开一个ELINT时基数据(TBD)文件,并将其绘制出来以进行测量和分析。 包含测试文件。 2018年1月1日新增了0.4版。
电子情报(ELINT)-雷达信号截获与分析
06-11
电子情报是现代和未来高技术战争中成功进行电子战、信息战行动的基础与保证
前端技术中阶
MichaelAn的博客
02-13 61
前端技术中阶 前端技术中阶 关注“高校俱乐部”微信公众号,回复“路线图”,快人一步获取高清全套技术路线图 研发链路(工程化基础) 脚手架 (Scaffold) CLI(command-line interface) commander inquirer ora chalk emoji 初始化(Boile...
阿里 前端 规范_阿里前端开发规范
細水、長流√的专栏
03-01 2875
页面跳转,例如 A 页面跳转到 B 页面,需要将 A 页面的数据传递到 B 页面,推荐使用 路由参数进行传参,而不是将需要传递的数据保存 vuex,然后在 B 页面取出 vuex 的数据,因为如果在 B 页面刷新会导致 vuex 数据丢失,导致 B 页面无法正常显示数据。经常有这样的场景:某个页面有问题,要立刻找到这个vue文件,如果不用以/开头,path为parent和children组成的,可能经常需要在router文件里搜索多次才能找到,而如果以/开头,则能立刻搜索到对应的组件。
学习使用前端代码规范工具——F2Elint过程记录
青清一水澈
02-10 590
简介: f2elint 是《阿里巴巴前端规约》的配套 Lint 工具,提供简单的 CLI 和 Node.js API,让项目能够一键接入、一键扫描、一键修复、 一键升级,并为项目配置 git commit 卡点,降低项目实施规约的成本。
idea中开启elint检查
06-10
4. 运行 ESLint:现在,您可以在 IntelliJ IDEA 中使用 ESLint 进行代码检查。在编辑器中打开一个 JavaScript 文件,然后右键单击文件并选择 "ESLint" -> "Check File" 或 "Check All". 请注意,您也可以在开发过程...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

分类专栏

  • NAS 4篇
  • RSS 3篇

最新评论

  • jellyfin使用ipv6+DDNS实现外网访问

    echozyh1: 我的jellyfin也是,是套件版,但是ddns端口直连就是连不上。反向代理就可以,不明觉厉。另外本地ip可以不用192.168.X.X,用127.0.0.1就行。效率会高点

  • jellyfin使用ipv6+DDNS实现外网访问

    Mrkong2018: 牛啊,反向代理,虽然不懂原理,但是实现了我的需求

  • Latex符号与公式集合

    麦田里的捡穗狗: 我想知道模糊关系合成当中那个句号运算符怎么打

  • 黑群晖安装qbittorrent记录

    orzzd: 可能是域名或者证书的问题,可以参考这篇文章https://www.bilibili.com/read/cv22532114/

  • 黑群晖安装qbittorrent记录

    kide1: 但是为了安全考虑,最好还是设置为自己的服务器域名 这里的服务器域名是什么啊,我设置了自己的还是会Unauthorized

大家在看

  • Element-UI快速入门指南 369
  • 洛谷 B3609 [图论与代数结构 701] 强连通分量 题解 tarjan算法 545
  • Symfony框架:PHP开发的优雅之道
  • 微软Edge浏览器:超越边界的网络探索之旅

最新文章

  • jellyfin使用ipv6+DDNS实现外网访问
  • 黑群晖FRP内网穿透部署记录
  • 黑群晖安装qbittorrent记录
2023年4篇
2022年3篇
2021年5篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司长治网站关键词优化价格马鞍山关键词排名价格江门网站推广工具哪家好合肥SEO按天计费报价光明网页制作报价天门seo罗湖至尊标王温州阿里店铺运营公司萍乡关键词排名公司广安百度关键词包年推广推荐桐城网站排名优化多少钱钦州SEO按天计费哪家好甘南网站定制价格抚顺seo排名公司湘西网站推广工具推荐大运至尊标王哪家好黑河模板网站建设多少钱庆阳SEO按天计费价格爱联百度竞价推荐铁岭网站优化按天收费价格晋中关键词按天收费多少钱池州网站改版坂田网站推广多少钱襄阳SEO按效果付费多少钱鹤岗网站推广哪家好马鞍山百度网站优化排名商丘模板网站建设海口SEO按天计费哪家好衡阳品牌网站设计推荐哈尔滨网页设计价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化