[英]Eslint with typescript complains it cant find a specific module
[英]cannot find module when using alias with Typescript and Eslint
尝试使用别名导入 ts 文件时出现错误。
找不到模块“@utils/helpers”或其相应的类型声明。
而且我没有自动完成是vscode。
我安装了tsconfig-paths
和eslint-import-resolver-typescript
tsconfig.json
文件
{
"compilerOptions": {
"module": "commonjs",
"sourceMap": true,
"target": "es6",
"esModuleInterop": true,
"moduleResolution": "node",
"outDir": "dist",
"baseUrl": "./src",
"paths": {
"@utils": ["utils/*"]
},
},
"include": ["src"],
"exclude": ["node_modules", "dist"]
}
.eslintrc
文件
{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint", "import"],
"extends": ["plugin:@typescript-eslint/recommended", "prettier"],
"rules": {
},
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts"]
},
"import/resolver": {
"typescript": {
"alwaysTryTypes": true,
"project": "tsconfig.json"
}
}
}
}
这是我的项目结构
构建错误
@utils
的存在进行检查@utils
存在和它的类型为此,安装tsconfig-paths
package,这将告诉 js 在哪里寻找@utils
使用很简单,你只要把tsconfig-paths/register
放在你的nodemon之前,这是我的package.json
"start": "ts-node -r tsconfig-paths/register src/server",
"dev": "ts-node-dev -r tsconfig-paths/register --respawn src/server",
或者你可以把它放在 tsconfig.json 里面
{
"compilerOptions": {
...
"baseUrl": "./src",
"paths": {
"@utils/*": ["utils/*"]
},
},
"ts-node": {
"require": ["tsconfig-paths/register"]
},
"ts-node-dev": {
"require": ["tsconfig-paths/register"]
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.