【JavaScript】ESlint & Prettier & Flow组合,得此三神助,混沌归太清
Flow
Flow的意义
Flow的使用
//@flow
//数字
functionflow1(x:number){
console.log(x);
}
flow1(2);
//字符串
functionflow2(x:string){
console.log(x);
}
flow2("xxx");
//可选参数
functionflow3(x:?string){
console.log(x);
}
flow3();
//多个值
functionflow4(x:"a"|"b"|"c"){
console.log(x);
}
flow3("a");
//任意值
functionflow5(y:any){
console.log(y);
}
flow3("a");
//数组
let arr:Array<boolean>=[true,false,true];
Flow的优点
- 自由和[可选]的类型检查风格
- 轻量化的类型检查,满足一些基本要求,同时容易学习上手
- 借助babel,webpack集成到JS代码中,在当今前端社区中,这种方式非常容易被大家所理解和接受,同时也容易集成到已有的项目中
Flow的缺点
- 编辑器或IDE集成度低,比如,比如基本的变量提示功能
- 社区力量较弱,库的数量较少
- 库的类型定义质量不高,无法完全满足开发需求
- FacebookFlow团队的roadmap也并不是很清楚
Flow的安装(Webpack集成)
(注意⚠️:你需要确保你有一个可运行的webpack配置,同时在module.rules配置项中引入了babel-loader解析所有js文件)
- 下载VScode扩展插件:FlowLanguageSupport,以在IDE中支持
- 安装plugin-transform-flow-strip-types插件,运行以下命令
npm install @babel/plugin-transform-flow-strip-types
{
"plugins":[
"transform-flow-strip-types"
]
}
npm install -g flow-bin
"scripts":{
"start":"flow check src && node ./server.js",
}
//@flow
functionflow1(x:number){
console.log(x);
}
//flow函数
flow1(2);
//普通函数
functioncommon(a){
console.log(a);
}
common(1);
运行示例


Prettier
import {A,B,C,D,E} from‘lib’
import{
A,
B,
C,
D,
E
} from ‘lib’
如何使用Prettier
- 在VScode上下载Prettier扩展插件,最好把编辑器重启一下。然后保存时就可以自动格式化了
- 根据官网上的指示进行操作,下面这个讲的是如何从Eslint上集成Prettier Integrating with Linters · Prettier
- 其实一般情况下,有VScode的Prettier插件就足够指导开发了,如果你想一次性把全部JS/JSX文件全部格式化一遍,可以这样,在根目录下运行:
yarn prettier --write './src/**/*.js' './src/**/*.jsx’
运行示例

ESlint
ESlint的使用
- 在VScode上下载Eslint扩展插件,最好把编辑器重启一下
- 设置Eslint这个VScode扩展插件的AutoFix功能,如图所示
- 在项目下安装eslint命令行并进行初始化
3.1 运行 npm init: 先初始化下npm空间
3.2 运行 npm i eslint, 安装eslint
3.3 运行 eslint --init:初始化eslint
- Q1. 你想如何使用eslint?1.检查语法2.检查语法并且发现问题3.检查语法,发现问题并强制约定代码风格
- Q2. 你的项目使用的模块化方式?1.CommonJS 2.Import/export 3.None of these
- Q3. 你的环境? 1.Node 2.浏览器
- Q4. 你使用到的框架? 1.React 2.Vue 3. None of these
- Q5. 你的项目使用TypeScript? 1.Y 2.N
{
"env":{
"browser":true,
"es6":true
},
"extends":[
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended"
],
"globals":{
"Atomics":"readonly",
"SharedArrayBuffer":"readonly"
},
"parser":"@typescript-eslint/parser",
"parserOptions":{
"ecmaVersion":2018,
"sourceType":"module"
},
"plugins":["@typescript-eslint"],
"rules":{
"semi": ["error","always"],
"quotes":["error","double"]
}
}
"env":{
"browser":true,//浏览器环境
"node":true,//Node环境
"es6":true,//es6语法
"commonjs":true,//commonjs
"worker":true//webwork相关语法
},
"globals":{
"Atomics":"readonly",
"SharedArrayBuffer":"readonly"
},
"parser": "@typescript-eslint/parser”,
"rules":{
"no-console":1
}
0:不报错,不警告
1:警告但不报错
2:报错
"extends":[
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended"
]
"plugins":["react”]
运行示例

ESLint was installed locally. We recommend using this local copy instead of your globally-installed copy
【JavaScript】ESlint & Prettier & Flow组合,得此三神助,混沌归太清的更多相关文章
- 前端规范之JS代码规范(ESLint + Prettier)
代码规范是软件开发领域经久不衰的话题,几乎所有工程师在开发过程中都会遇到或思考过这一问题.而随着前端应用的大型化和复杂化,越来越多的前端团队也开始重视代码规范.同样,前段时间,笔者所在的团队也开展了一 ...
- eslint prettier editrorconfig - 写出干净的前端代码
FConfidence 关注 2018.12.30 02:38* 字数 2912 阅读 195评论 0喜欢 0 VSCode 插件安装 Prettier - Code Formatter ESLint ...
- VSCode 使用 ESLint + Prettier 来统一 JS 代码
环境: VSCode 1.33.1 Node.js 8.9.1 一.ESLint 1.介绍 ESLint是最流行的JavaScript Linter. Linter 是检查代码风格/错误的小工具.其他 ...
- eslint+prettier+husky+lint-staged 统一前端代码规范
eslint+prettier+husky+lint-staged 统一前端代码规范 遵循编码规范和使用语法检测,可以很好的提高代码的可读性,可维护性,并有效的减少一些编码错误. 1.终极目标 团队中 ...
- 创建TypeScript代码模板(NVS+Yarn+ESLint+Prettier+Husky)
创建TypeScript代码模板(NVS+Yarn+ESLint+Prettier+Husky) Cui, Richard Chikun 本文笔者将带你在Github代码仓库创建TypeScript代 ...
- javascript创建对象的方法--组合模式
javascript创建对象的方法--组合模式 一.总结 0.作用:解决原型模式对象独有属性创建麻烦的问题 1.组合模式使用普遍:jquery就是用的组合模式,组合模式使用非常普遍 2.组合模式优点: ...
- ESLint + Prettier + husky + lint-staged 规范统一前端代码风格
写在前面: ESLint: Find and fix problems in your JavaScript code. Prettier: Prettier is an opinionated co ...
- eslint prettier vetur eslint
VScode (版本 1.47.3)安装 eslint prettier vetur 插件 .vue 文件使用 vetur 进行格式化 在文件 .prettierrc 里写 属于你的 pettier ...
- Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南
Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南 因为平时都是使用 VSCode ESLint + Prettier 检测格式化不规范代码,但是随着接手的项目越来越多 ...
随机推荐
- java基础知识总结,绝对经典
写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技 ...
- Python 之父再发文:构建一个 PEG 解析器
花下猫语: Python 之父在 Medium 上开了博客,现在写了两篇文章,本文是第二篇的译文.前一篇的译文 在此 ,宣布了将要用 PEG 解析器来替换当前的 pgen 解析器. 本文主要介绍了构建 ...
- 如何在Vue项目中使用vw实现移动端适配
有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在< 使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着 viewport 单位 ...
- asp.net core系列 69 Amazon S3 资源文件上传示例
一. 上传示例 Install-Package AWSSDK.S3 -Version 3.3.104.10 using Amazon; using Amazon.Runtime; using Ama ...
- java学习-NIO(一)简介
I/O简介 在 Java 编程中,直到最近一直使用 流 的方式完成 I/O.所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节.流 I/O 用于与外部世界接触. ...
- U盘重装MacOS-Sierra系统
Mac系统重新安装两种方法: 1.在线远程重装. 2.制作启动U盘进行重装. 理论上第一种比较简单,但是会比较耗时,实际操作中,由于网上下载的系统版本低于我现在MacOS的版本,导致无法安装,因此只能 ...
- SSM框架的详细解说
文章转载自:http://blog.csdn.net/zhshulin 使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就 ...
- 从MYSQL的ibtmp1文件太大说起
1. 啥情况呀 测试环境机器磁盘空间不足的告警打破了下午的沉寂,一群人开始忙活着删数据.但是,不久前刚清理了一波数据,测试环境在没做压测的情况下不至于短短一个月不到就涨了200G数据,于是,我悄悄的 ...
- 【Python3爬虫】爬取美女图新姿势--Redis分布式爬虫初体验
一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...
- Kafka 0.8 Producer (0.9以前版本适用)
Kafka旧版本producer由scala编写,0.9以后已经废除,但是很多公司还在使用0.9以前的版本,所以总结如下: 要注意包Producer是 kafka.javaapi.producer.P ...