首页 > 解决方案 > 将 Typescript 添加到现有的 Node/Express Javascript 应用程序

问题描述

我只是将 Typescript 添加到我们的 Node / Express 后端。我有现有的 ESLint 设置,但在添加 Typescript 后,它现在会导致 linting.js文件出现问题,实际上我的.js文件不再有错误。

目标是慢慢地将现有.js文件移动到.ts但项目大小和我当前的带宽不能一次完成所有操作。因此,我对使用 Typescript 的任何新事物都采取了缓慢的方法,每当我接触到一段旧代码时,也会在 Typescript 中重写它。

任何帮助,将不胜感激。

我的.eslintrc.json

{
  "extends": ["airbnb", "prettier"],
  "plugins": ["prettier"],
  "rules": {
      "prettier/prettier": ["error"],
      "no-console": "off",
      "comma-dangle": "error",
      "semi": "error"
  },
  "overrides": {
      "files": ["*.ts", "*.tsx"],
      "extends": ["airbnb", "prettier", "airbnb-typescript", "prettier/@typescript-eslint"],
      "plugins": ["prettier", "@typescript-eslint"],
      "parser": "@typescript-eslint/parser",
  }
}

我也有.pretierrc

{
  "tabWidth": 2,
  "printWidth": 200,
  "singleQuote": true,
  "endOfLine": "lf",
  "trailingComma": "all"
}

这是我的开发依赖项package.json

  "devDependencies": {
    "@types/bluebird": "^3.5.33",
    "@types/body-parser": "^1.19.0",
    "@types/chai": "^4.2.14",
    "@types/dotenv": "^8.2.0",
    "@types/express": "^4.17.11",
    "@types/mocha": "^8.2.0",
    "@types/mongoose": "^5.10.3",
    "@types/supertest": "^2.0.10",
    "@typescript-eslint/eslint-plugin": "^4.14.2",
    "@typescript-eslint/parser": "^4.14.2",
    "chai": "^4.3.0",
    "chai-http": "^4.3.0",
    "dotenv": "^8.2.0",
    "eslint": "^7.19.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-config-prettier": "^7.2.0",
    "eslint-config-standard": "^16.0.2",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-plugin-async-await": "0.0.0",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "^3.3.1",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^5.0.0",
    "link-module-alias": "^1.2.0",
    "lint-staged": "^10.0.8",
    "mocha": "^8.2.1",
    "mockgoose": "^8.0.4",
    "nodemon": "^2.0.7",
    "nyc": "^15.1.0",
    "pre-commit": "^1.2.2",
    "prettier": "^2.2.1",
    "sinon": "^9.2.0",
    "supertest": "^6.1.3",
    "ts-node": "^9.1.1",
    "tsconfig-paths": "^3.9.0",
    "typescript": "^4.1.3"
  }

标签: javascripttypescripteslint

解决方案


你可以告诉你 ESLint 通过创建一个文件来忽略所有的 JavaScript 文件.eslintignore,它的工作方式与gitignore.

例如:您.eslintignore可能看起来像:

build/*.js
model/*.js

不要忘记重新启动编辑器。


推荐阅读