私のファイルにこのインポートがありますapp.spec.ts:
import app from './app';
このTypeScriptエラーの原因
2:17 error Unable to resolve path to module './app' import/no-unresolved
./ app.tsは存在しますが、.tsファイルを.jsファイルにコンパイルしていません。 .tsファイルを.jsにコンパイルするとすぐに、エラーはなくなります。
ただし、eslintはTypeScriptで動作することが想定されているため、.jsではなく.tsを使用してモジュールを解決する必要があります。
TypeScript情報をeslint
構成ファイルにも追加しました:
"parser": "@TypeScript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json"
}
.jsではなく.tsを使用してモジュールを解決しようとする方法でeslintを構成するにはどうすればよいですか?
乾杯!
編集#1
の内容 app.ts
:
import bodyParser from 'body-parser';
import express from 'express';
import graphqlHTTP from 'express-graphql';
import { buildSchema } from 'graphql';
const app = express();
const schema = buildSchema(`
type Query {
hello: String
}
`);
const root = { hello: () => 'Hello world!' };
app.use(bodyParser());
app.use('/graphql', graphqlHTTP({
schema,
rootValue: root,
graphiql: true,
}));
export default app;
tsとeslintの両方が私に怒鳴っていたため、以下を。eslintrcファイルに追加する必要がありました。
{
...
"rules": {
....
"import/extensions": "off"
},
"settings": {
....
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
}
誰かが子ディレクトリもサポートする必要がある場合。たとえば、それはサポートします
src/api/external/request => external/request
"settings": {
"import/resolver": {
"node": {
"paths": ["src", "src/api"],
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
これはeslint ^ 6.1.の実際の例です