建议
🔍 搜索词
importModuleSpecifierPreference
允许兄弟节点
✅ 可实现性检查清单
我的建议满足以下准则:
- 这不会对现有的TypeScript/JavaScript代码造成破坏性的更改
- 这不会改变现有JavaScript代码的运行时行为
- 这可以在不根据表达式的类型发出不同的JS的情况下实现
- 这不是一个运行时特性(例如库功能、JavaScript输出的非ECMAScript语法、JS的新语法糖等)
- 这个特性将与TypeScript's Design Goals的其他部分一致。
⭐ 建议
让自动导入镜像:
https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-relative-parent-imports.md
或者旧的:
microsoft/tslint-microsoft-contrib#778
新选项可以命名为任何名称,如"non-relative-allow-sibling","no-parent","relative-iff-sibling"等
📃 激励示例
关于“为什么这个特性改进了语言”,这不是一个语言特性,而是一个IDE特性,由TypeScript仓库处理:
TypeScript/src/server/protocol.ts
在3b45f4d的第3487行
| | readonlyimportModuleSpecifierPreference?: "shortest"|"project-relative"|"relative"|"non-relative"; |
激励示例:当你自动导入时,你希望以./foo
的形式导入,如果在同一目录中,否则类似于@/utils/foo
。shortest
不一定有效,因为../foo
可能比例如@/modules/feature/foo
更短。
💻 用例
目前使用importModuleSpecifierPreference: "non-relative"
原样。
1条答案
按热度按时间0ve6wy6x1#
重复的#48192和#45015。