javascript - eslint 从子文件夹运行时无法解析相对模块路径
问题描述
当我从我的 repo 的根文件夹运行 eslint 时,一切运行正常,没有错误。
但是当我从一个子文件夹运行时,我会得到大量的导入/未解析,当我从 root 运行时不会发生这种情况:
/reporoot/subfolder0/subfolder1/MyFile.js
11:8 error Unable to resolve path to module 'foo' import/no-unresolved
11:8 error Missing file extension for "foo" import/extensions
14:97 error Unable to resolve path to module 'foo' import/no-unresolved
14:97 error Missing file extension for "foo" import/extensions
不管我怎么跑。例如:
这将起作用:
cd /reporoot
eslint .
所有这些命令都将失败,并出现如上所示的错误:
cd subfolder0
eslint .
或者
eslint subfolder0
或者
eslint /reporoot/subfolder0/subfolder1/MyFile.js
任何想法是什么问题,或者关于如何解决它的想法?
解决方案
根据此 GitHub 问题,这可能是您的导入中的绝对路径存在问题。
尝试将其设置在您的.eslintrc.json
(如果您不使用 JSON,则将其转换为任何其他文件类型)
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
如果上述方法不起作用并且您只想摆脱这些错误,只需添加以下内容:
"settings": {
"import/no-unresolved": 0, // Turn off "Unable to resolve path to module ..." error
"import/extensions": 0 // Turn off "Missing file extension for ..." error
}
无论如何,禁用它并不是什么大不了的事,因为 linter 因路径问题而闻名。
推荐阅读
- swift - 从 ViewDidLoad 调用后子视图不删除
- python - 如何修复 ValueError: Expected 2D array, got 1D array 而不是?
- c# - 找不到“IndexOutOfRangeException”的原因
- html - 我想引用网站中的特定文本,将其复制并粘贴到 Excel
- mysql - 如何使用 MySQL 连接器或 pyMySql 为 MySql 实现上下文管理器
- swift - 初始化 PDFView 后我无法访问 PDFDocument 属性
- r - 像 rleid 但忽略 NA
- angular - 是否可以在 4 秒的时间延迟后以角度调用 css 类?
- php - 如何使用 foreach 使用 simplexml_load_string 获取数据?
- javascript - CREATEJS:如何检查精灵对象当前是否在屏幕上可见/渲染?