gpt4 book ai didi

javascript - Eslint 不尊重 jsconfig 路径

转载 作者:行者123 更新时间:2023-12-05 03:36:12 25 4
gpt4 key购买 nike

我在 monorepo 中有我的 express.js 项目。我想为其添加自定义路径别名。目录结构为:

./
server/
----> jsconfig.json
----> .eslintrc.js
----> src/
--------> index.js
--------> modules/auth
-------------> auth.controller.js

jsconfig.json

{
"compilerOptions": {
"module": "ES6",
"baseUrl": "./",
"paths": {
"@modules/*": [
"src/modules/*"
]
}
},
"exclude": ["node_modules"]
}

.eslintrc.js

module.exports = {
env: {
es2021: true,
node: true,
},
extends: [
'airbnb-base',
],
parserOptions: {
ecmaVersion: 12,
sourceType: 'module',
},
rules: {
'no-console': 'error',
'no-debugger': 'error',
},
settings: {
'import/resolver': {
alias: {
map: [
['@modules/*', 'src/modules/*'],
],
extensions: ['.js', '.json'],
},
},
},
};

简单地说,我只是尝试在我的 index.js 文件中导入 auth Controller 。

import authRoutes from '@modules/auth/auth.routes';

但我收到以下错误:Unable to resolve path to module '@modules/auth/auth.controller' .eslint import/no-unresolved

请不要建议关闭规则。我已经尝试过 eslint-import-resolver-jsconfig,但我得到了 Cannot resolve jsConfig, SyntaxError } on 150

最佳答案

因为我用的是monorepo,ESLint甚至lint-staged都有问题。所以现在我每个存储库只有一个项目并且:

  1. jsconfig.json 中添加自定义路径:
"paths": {
"@modules/*": [
"./src/modules/*"
]
}
  1. 已安装 eslint-import-resolver-jsconfig 并将以下配置添加到 eslint.json:
"extends": [
"airbnb-base",
"eslint:recommended"
],
"plugins": ["import"],
"settings": {
"import/resolver": {
"jsconfig": {
"config": "jsconfig.json"
}
}
}
  1. 安装了 Babel 插件 babel-plugin-module-resolver 并将以下设置添加到 .babelrc:
 "plugins": [
[
"module-resolver",
{
"alias": {
"@modules": "./src/modules"
}
}
]
]

但是,再说一遍:只有当每个存储库有一个项目并且所有配置文件(.*rcpackage.json 等)都在根级别。

关于javascript - Eslint 不尊重 jsconfig 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69688125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com