Eslint抛出导入错误: import /no-导入typescript声明文件时未解析。我正在使用lerna进行monorepo。相关声明文件导入。导入文件下面是app.d.ts文件。
我可以在下面的配置中添加"import/ignore":".d.ts“,它可以解决这个错误,但我正在寻找一个不同于此的解决方案。
// types import { Theme } from '@typings/app';
我的.eslintrc.js配置文件:
module.exports = { parser: "@typescript-eslint/parser", extends: [ "airbnb", "plugin:@typescript-eslint/recommended", "prettier", "prettier/react" plugins: ["react", "jsx-a11y", "react-hooks", "sprinklr"], env: { browser: true, node: true, es6: true globals: { define: true, require: true rules: { strict: [2, "never"], "no-multi-spaces": 0, "spaced-comment": 0, "no-multi-assign": 0, //Import rules "import/extensions": [ "ignorePackages", js: "never", jsx: "never", mjs: "never", ts: "never", tsx: "never" "import/no-unresolved": 2, "import/no-extraneous-dependencies": 0, "import/no-named-as-default-member": 0, "import/prefer-default-export": 0, //Keeping below till idea supports these codestyles "object-curly-spacing": 0, //ts related rules "indent": 0, "@typescript-eslint/indent": 0, "@typescript-eslint/explicit-member-accessibility": 0, "@typescript-eslint/camelcase": 0, "import/no-webpack-loader-syntax": 0, "@typescript-eslint/prefer-interface": 0, "import/no-cycle": 1, "react/prop-types": 0, "@typescript-eslint/ban-ts-ignore": 1, //Remove after ts adoption increases "@typescript-eslint/explicit-function-return-type": [1, { "allowTypedFunctionExpressions": true "@typescript-eslint/no-this-alias": 0, "sprinklr/no-logic-i18n-template-literal": 2, parserOptions: { sourceType: "module", ecmaVersion: 6, ecmaFeatures: { globalReturn: true, jsx: true allowImportExportEverywhere: true settings: { "import/extensions": [".js", ".jsx", ".mjs", ".ts", ".tsx"], "import/resolver": { webpack: { config: { resolve: { extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], "react": { version: "detect", overrides: [ files: ["**/*.spec.*", "**/*.test.*", "**/*.d.ts"], env: { jest: true globals: { // Enzyme globals mount: true, shallow: true, render: true rules: { "@typescript-eslint/no-var-requires": 0, "@typescript-eslint/no-empty-function": 0, };
上云精选
2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折
提高你的 .eslintrc
.eslintrc
..., // parser: "@typescript-eslint/parser", -- not needed, "plugin:@typescript-eslint/recommended" has added extends: [ "airbnb", "plugin:import/typescript", // added "plugin:@typescript-eslint/recommended", "prettier", "prettier/@typescript-eslint" // added "prettier/react" plugins: [ // "react", -- not needed, airbnb has covered // "jsx-a11y", -- not needed, airbnb has covered // "react-hooks", -- not needed, airbnb has covered "sprinklr" env: { browser: true, // node: true, -- not needed, airbnb has covered // es6: true, -- not needed, airbnb has covered amd: true // add define and require globals: { // define: true, -- not needed, use amd env // require: true -- not needed, use amd env parserOptions: { // sourceType: "module", -- not needed, airbnb has covered // ecmaVersion: 6, -- not needed, airbnb has covered // ecmaFeatures: { -- not needed, airbnb has covered // globalReturn: true, -- not needed, airbnb has covered // jsx: true -- not needed, airbnb has covered // }, allowImportExportEverywhere: true settings: {