我正在尝试在nextjs documentation之后使用自定义别名导入文件。
我目前的做法是
来自
import Header from '../../../components/Header';
到
import Header from '@components/Header';
我得到了预期的结果。但是eslint会引发以下错误:
我尝试在eslintrc文件中添加以下行以解决该错误
settings: {
'import/resolver': {
node: {
paths: ['src'],
},
},
},
但是eslint仍然抛出相同的错误。
解决此问题的正确方法是什么?
预先感谢...
注意:我不想删除eslint,我需要@components导入别名
答案 0 :(得分:2)
最后,在研究了很多GitHub答案等之后……
在eslintrc文件中...添加以下别名
settings: {
'import/resolver': {
alias: {
map: [
['@components', '../../../components/'],
['@images', '../../../assets/images/'],
],
extensions: ['.js', '.jsx'],
},
},
},
并修复流错误 在您的flowconfig文件中,添加name_mapper
module.name_mapper='^@components' ->'<PROJECT_ROOT>/../../../components'
module.name_mapper='^@images' ->'<PROJECT_ROOT>/../../../assets/images'
答案 1 :(得分:1)
您可以尝试在tsconfig.json
/ jsconfig.json
中添加自定义路径,如下所示:
baseUrl
中添加一个compilerOptions
(在我的情况下为"baseUrl": "."
)paths
对象中添加路径:"paths": {
"components": ["components/*"],
}
答案 2 :(得分:0)
您还需要安装npm i -D eslint-import-resolver-typescript
,然后将以下内容添加到eslint配置文件中:
"settings": {
"import/resolver": {
"typescript": {} // this loads <rootdir>/tsconfig.json to eslint
},
}