【发布时间】:2019-08-07 11:19:28
【问题描述】:
我的文件 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 一起使用,它应该使用 .ts 而不是 .js 解析模块。
我还在我的eslint 配置文件中添加了打字稿信息:
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "./tsconfig.json"
}
如何配置 eslint,使其尝试使用 .ts 而不是 .js 解析模块?
干杯!
编辑#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;
【问题讨论】:
-
你添加
"plugins": ["@typescript-eslint"]了吗?文档github.com/typescript-eslint/typescript-eslint/tree/master/… -
嘿@Jasmonate,感谢您的回答!所以我刚刚添加了这个配置,虽然我现在可以做一些特定于 Typescript 的 linting,但它并不能解决我的问题。我仍然收到
Unable to resolve path to module './app' -
您是否尝试将其添加到您的 .eslintrc 中?
settings: { 'import/resolver': 'webpack' }(我假设代码构建正常。如果不是,您需要告诉 webpack 也解析 .ts/.tsx 文件,这意味着添加类似:```module.exports = { resolve: { extensions: ['.js', '.ts'] } }; ``` 或任何你想导入的文件扩展名!) -
以上评论不完整,恐怕!我的编辑时间用完了,我太快按下了 Enter!
module.exports = { resolve: { extensions: ['.js', '.ts'] } };位应该在你的 webpack 配置中! -
你可以添加你的
app.ts文件的内容吗?
标签: typescript eslint