nodejs + typescript + koa + eslint + typescript eslint + prettier + webstorm
ESLint
安装
yarn add -D eslint
生成配置文件
yarn eslint --init
cli 选项
How would you like to use ESLint?
To check syntax and find problems
What type of modules does your project use?
Javascript modules (import/export)
Which framework does your project use?
None of these
Does your project use TypeScript?
Yes
Where does your code run?
Node
What format do you want your config file to be in?
JSON
Would you like to install them now with npm?
Yes
等待 eslint 安装依赖完毕后,移除 package-lock.json 文件(因为 cli 中安装依赖用的是 npm,而我用的是 yarn,yarn 有 yarn.lock 文件,两个同时存在会产生警告冲突)
.eslintrc.json
{
"env": {
"es2021": true,
"node": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 13,
"sourceType": "module"
},
"plugins": [
"@typescript-eslint"
],
"rules": {
// 统一在语句某位加分号 ;
"semi": [
"error",
"always"
],
// 统一使用单引号 ''
"quotes": [
"error",
"single"
]
}
}
.eslintignore
# don't ever lint node_modules
node_modules
# don't lint build output (make sure it's set to your correct build folder name)
dist
Rules
TypeScript
安装、生成配置文件、package.json 中 scripts 标签内容参考上一篇 博客
WebStorm
插件推荐
安装 .ignore 插件可以生成各种工具的 ignore 文件,比较方便
Prettier
安装
yarn add -D -E prettier
创建配置文件
创建这两个文件:
.prettierrc.json代码风格配置文件
在文件内输入以下内容,更多配置参考 这里:我这里只配置了一个单引号,其他采用默认风格
{
"singleQuote": true
}
.prettierignore忽略代码风格文件(在忽略的文件夹或文件内不使用Prettier)
在文件内输入以下内容:# Ignore artifacts:
dist
node_modules
保存时自动格式化
prettier ide 集成
webstorm prettier
WebStorm 2021.3 配置后不生效,看 这里 或自行搜索。
我搜了下,没找到合适的解决方案(没空),我使用右键 Reformat with Prettier 或者快捷键手动格式化代码。
ESLint 集成
Koa
安装
yarn add koa
yarn add -D @types/koa
package.json
scripts
scripts 中替换为以下内容:
- 在
build命令中新增了yarn lint - 新增了
lint命令
"scripts": {
"build-ts": "tsc",
"build": "yarn build-ts && yarn lint",
"debug": "yarn build && yarn watch-debug",
"lint": "tsc --noEmit && eslint \"**/*.{js,ts}\" --quiet --fix",
"serve-debug": "nodemon --inspect dist/server.js",
"serve": "node dist/server.js",
"start": "yarn serve",
"watch-debug": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"",
"watch-node": "nodemon dist/server.js",
"watch-ts": "tsc -w",
"watch": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:watch-node\""
},
nodejs + typescript + koa + eslint + typescript eslint + prettier + webstorm的更多相关文章
- 创建TypeScript代码模板(NVS+Yarn+ESLint+Prettier+Husky)
创建TypeScript代码模板(NVS+Yarn+ESLint+Prettier+Husky) Cui, Richard Chikun 本文笔者将带你在Github代码仓库创建TypeScript代 ...
- electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...
- 【前端必会】Prettier,有了ESlint,还要Prettier
介绍 已经安装了ESLint为什么还要Prettier,主要是让ESLint专注于语法相关的验证,检查潜在问题.而代码格式化则有Prettier来接管 对比参考: https://baijiahao. ...
- 001——Typescript 介绍 、Typescript 安 装、Typescript 开发工具
一. Typescript 介绍 1. TypeScript 是由微软开发的一款开源的编程语言. 4. TypeScript 是 Javascript 的超级,遵循最新的 ES6.Es5 规范.Typ ...
- TypeScript 1.7 & TypeScript 1.8
TypeScript 1.7 & TypeScript 1.8 1 1 https://zh.wikipedia.org/wiki/TypeScript TypeScript是一种由微软开发的 ...
- nodejs、npm、 typescript、angular-cli安装
一.node.js环境安装 1.从Node.js官网下载对应平台的安装程序,进行安装,在Windows上安装时务必选择全部组件,包括勾选Add to Path. 2.安装完成后,打开window命令行 ...
- 关闭vue的eslint代码检测和WebStorm的代码检测
1. 在vue项目中 bulid > webpack.base.conf.js 中: 如图,在rules规则中有一条规则是校验代码的,也就是红框2那行,要取消可以直接注释掉这行,或者把红框1的函 ...
- [TypeScript] Loading Compiled TypeScript Files in Browser with SystemJS
TypeScript outputs JavaScript, but what are you supposed to do with it? This lesson shows how to tak ...
- [TypeScript] Stopping a TypeScript Build When Errors Are Found
TypeScript will always compile even if there are ridiculous errors in your project. This lesson show ...
随机推荐
- java模板设计
- 位运算符 按位与 &——整数n的二进制数中1的个数
整数n的二进制数中1的个数 编写一个函数,输入是一个整数,返回其二进制表达式中数字位数为 '1' 的个数 代码如下: int func(int n)//char ch { int count = 0; ...
- Altium Designer 原理图的绘制前导
元件库.封装库设计 部分元器件厂商或者经销商不提供元件库和封装库,只给了元器件尺寸图,所以需要自行设计元件库文件或是封装库文件 元件库设计: 新建 .SchLib 文件:File -> N ...
- 告别尬聊,解锁秀场+社交新玩法(内含源码+Demo)
直播已成为用户的生活习惯之一 艾媒咨询数据显示:2021年直播用户规模达到6.35亿人,在线直播用户以年轻群体为主,24岁及以下用户占比49%,30岁以下用户接近8成. 众所周知,Z世代用户是一个社交 ...
- 创建axios拦截器
上一篇说axios并发的时候有提到 axios的请求统一管理是为了创建拦截器 具体说一下拦截器的创建 import Vue from 'vue'; import axios from 'axios'; ...
- Vue2的右键弹出菜单(vue-contextmenu)
给大家推荐一个基于Vue2的右键弹出菜单插件,支持单一SPA页面以及可以在循环绑定中使用. 项目地址为:https://github.com/chIIC/vue-...demo1: 父组件绑定右键事件 ...
- Mybatis个人笔记
Mybatis 简介 官网地址:mybatis – MyBatis 3 | 简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 ...
- 01 | 堆、栈、RAII:C++里该如何管理资源?(极客时间笔记)
基本概念 堆,英文是 heap,在内存管理的语境下,指的是动态分配内存的区域.这个堆跟数据结构里的堆不是一回事.这里的内存,被分配之后需要手工释放,否则,就会造成内存泄漏. C++ 标准里一个相关概念 ...
- DDD(Domain-Driven Design) 领域驱动设计
DDD(Domain-Driven Design) 领域驱动设计 1. DDD(Domain-Driven Design)是什么? DDD是Eric Evans在2003年出版的<领域驱动设计: ...
- JavaScript基础第01天笔记
JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...