ESLint

安装

  1. yarn add -D eslint

生成配置文件

  1. yarn eslint --init

cli 选项

  1. How would you like to use ESLint?
  2. To check syntax and find problems
  3. What type of modules does your project use?
  4. Javascript modules (import/export)
  5. Which framework does your project use?
  6. None of these
  7. Does your project use TypeScript?
  8. Yes
  9. Where does your code run?
  10. Node
  11. What format do you want your config file to be in?
  12. JSON
  13. Would you like to install them now with npm?
  14. Yes

等待 eslint 安装依赖完毕后,移除 package-lock.json 文件(因为 cli 中安装依赖用的是 npm,而我用的是 yarnyarnyarn.lock 文件,两个同时存在会产生警告冲突)

.eslintrc.json

  1. {
  2. "env": {
  3. "es2021": true,
  4. "node": true
  5. },
  6. "extends": [
  7. "eslint:recommended",
  8. "plugin:@typescript-eslint/recommended"
  9. ],
  10. "parser": "@typescript-eslint/parser",
  11. "parserOptions": {
  12. "ecmaVersion": 13,
  13. "sourceType": "module"
  14. },
  15. "plugins": [
  16. "@typescript-eslint"
  17. ],
  18. "rules": {
  19. // 统一在语句某位加分号 ;
  20. "semi": [
  21. "error",
  22. "always"
  23. ],
  24. // 统一使用单引号 ''
  25. "quotes": [
  26. "error",
  27. "single"
  28. ]
  29. }
  30. }

.eslintignore

  1. # don't ever lint node_modules
  2. node_modules
  3. # don't lint build output (make sure it's set to your correct build folder name)
  4. dist

Rules

TypeScript

安装、生成配置文件、package.jsonscripts 标签内容参考上一篇 博客

WebStorm

插件推荐

安装 .ignore 插件可以生成各种工具的 ignore 文件,比较方便

Prettier

安装

  1. yarn add -D -E prettier

创建配置文件

创建这两个文件:

  1. .prettierrc.json 代码风格配置文件

    在文件内输入以下内容,更多配置参考 这里

    我这里只配置了一个单引号,其他采用默认风格

    1. {
    2. "singleQuote": true
    3. }
  2. .prettierignore 忽略代码风格文件(在忽略的文件夹或文件内不使用 Prettier

    在文件内输入以下内容:

    1. # Ignore artifacts:
    2. dist
    3. node_modules

保存时自动格式化

prettier ide 集成

webstorm prettier

WebStorm 2021.3 配置后不生效,看 这里 或自行搜索。

我搜了下,没找到合适的解决方案(没空),我使用右键 Reformat with Prettier 或者快捷键手动格式化代码。

ESLint 集成

参考

Koa

安装

  1. yarn add koa
  2. yarn add -D @types/koa

package.json

scripts

scripts 中替换为以下内容:

  1. build 命令中新增了 yarn lint
  2. 新增了 lint 命令
  1. "scripts": {
  2. "build-ts": "tsc",
  3. "build": "yarn build-ts && yarn lint",
  4. "debug": "yarn build && yarn watch-debug",
  5. "lint": "tsc --noEmit && eslint \"**/*.{js,ts}\" --quiet --fix",
  6. "serve-debug": "nodemon --inspect dist/server.js",
  7. "serve": "node dist/server.js",
  8. "start": "yarn serve",
  9. "watch-debug": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"",
  10. "watch-node": "nodemon dist/server.js",
  11. "watch-ts": "tsc -w",
  12. "watch": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:watch-node\""
  13. },

nodejs + typescript + koa + eslint + typescript eslint + prettier + webstorm的更多相关文章

  1. 创建TypeScript代码模板(NVS+Yarn+ESLint+Prettier+Husky)

    创建TypeScript代码模板(NVS+Yarn+ESLint+Prettier+Husky) Cui, Richard Chikun 本文笔者将带你在Github代码仓库创建TypeScript代 ...

  2. electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint

    我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...

  3. 【前端必会】Prettier,有了ESlint,还要Prettier

    介绍 已经安装了ESLint为什么还要Prettier,主要是让ESLint专注于语法相关的验证,检查潜在问题.而代码格式化则有Prettier来接管 对比参考: https://baijiahao. ...

  4. 001——Typescript 介绍 、Typescript 安 装、Typescript 开发工具

    一. Typescript 介绍 1. TypeScript 是由微软开发的一款开源的编程语言. 4. TypeScript 是 Javascript 的超级,遵循最新的 ES6.Es5 规范.Typ ...

  5. TypeScript 1.7 & TypeScript 1.8

    TypeScript 1.7 & TypeScript 1.8 1 1 https://zh.wikipedia.org/wiki/TypeScript TypeScript是一种由微软开发的 ...

  6. nodejs、npm、 typescript、angular-cli安装

    一.node.js环境安装 1.从Node.js官网下载对应平台的安装程序,进行安装,在Windows上安装时务必选择全部组件,包括勾选Add to Path. 2.安装完成后,打开window命令行 ...

  7. 关闭vue的eslint代码检测和WebStorm的代码检测

    1. 在vue项目中 bulid > webpack.base.conf.js 中: 如图,在rules规则中有一条规则是校验代码的,也就是红框2那行,要取消可以直接注释掉这行,或者把红框1的函 ...

  8. [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 ...

  9. [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 ...

随机推荐

  1. docker学习-01-安装docker

    [root@localhost firstDocker]# cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) [root@loc ...

  2. java集合类框架的基本接口有哪些

    集合类接口指定了一组叫做元素的对象.集合类接口的每一种具体的实现类都可以以他自己的方式对元素进行保存和排序.有的集合允许重复的键,有些不允许. java集合类里面最基本 的接口: Collection ...

  3. vue2与vue3的区别

    template <template> <div class="wrap"> <div>{{ num }}</div> <Bu ...

  4. fetch,终于认识你

    fetch和XMLHttpRequest 如果看网上的fetch教程,会首先对比XMLHttpRequest和fetch的优劣,然后引出一堆看了很快会忘记的内容(本人记性不好).因此,我写一篇关于fe ...

  5. JavaScript 小技巧 数组去重

    const array = [1, 2, 3, 3, 5, 5, 1]; const uniqueArray = [...new Set(array)]; console.log(uniqueArra ...

  6. MapReduce在集群执行任务时报错:Initialization of all the collectors failed. Error in last collector was:java.lang.ClassCastException

    报错信息详细: Error: java.io.IOException: Initialization of all the collectors failed. Error in last colle ...

  7. Taro下拉刷新,上拉加载更多

    1.引入插件 import Taro, { Component } from '@tarojs/taro' import { View, Text, ScrollView } from '@taroj ...

  8. LC-数组-二分查找-704

    二分查找 [left, right] 方式 [left, mid -1] [mid + 1, right] int left = 0, right = nums.length - 1; while ( ...

  9. java四种访问修饰符及各自的权限

    1.public,即共有的,是访问权限限制最宽的修饰符.被public修饰的类.属性.及方法不仅可以跨类访问,而且可以跨包访问. 2. protected,即保护访问权限,是介于public和priv ...

  10. Postman中文版客户端

    "新冷战"蔓延到生产力工具 前端时间,著名 UI 设计软件 Figma 宣布制裁大疆! 这不仅让中国的互联网从业者纷纷一头冷汗:今天是 Figma,明天会是什么?今天是大疆,明天会 ...