TSLint 对未按字母顺序排列的导入源不满意
Posted
技术标签:
【中文标题】TSLint 对未按字母顺序排列的导入源不满意【英文标题】:TSLint unhappy with non-alphabetized import sources 【发布时间】:2019-07-31 13:49:00 【问题描述】:我有几个 TSLint 不满意的 TypeScript 导入源,因为它们显然没有按字母顺序排列。
import DialogNoConfigurationFile from './view/dialogs/dialog-no-configuration-file';
import DisplayMain from './view/display/display-main';
import Global from './business/global';
import remote from 'electron';
import RequestResponse from './data/model/request-response';
import UserRequestResponse from './data/model/user-request-response';
来自 TSLint 的错误消息:
ERROR: /home/myuser/Documents/myproject/administration2/src/app.tsx:11:1 - Import sources within a group must be alphabetized.
ERROR: /home/myuser/Documents/myproject/administration2/src/app.tsx:12:1 - Import sources within a group must be alphabetized.
我的 package.json 脚本命令:
"lint": "tslint --project tsconfig.json --force"
尽管 TSLint 对 Global
和 remote
不满意,但字母排序一切正常。我相信 TSLint 一定对大写或类似的东西不满意。有没有办法检查 TSLint 是如何按字母顺序排列的?
【问题讨论】:
【参考方案1】:您可以使用 --fix
运行 tslint 来对导入进行排序:
npx tslint --fix --project tsconfig.json src/app.tsx
如果您使用 VS Code,则有一个 tslint 扩展,可让您应用个别修复。
假设您使用ordered-imports
规则的默认设置,您的导入应该可以按如下方式排序:(绝对在相对之前)
import remote from 'electron';
import Global from './business/global';
import RequestResponse from './data/model/request-response';
import UserRequestResponse from './data/model/user-request-response';
import DialogNoConfigurationFile from './view/dialogs/dialog-no-configuration-file';
import DisplayMain from './view/display/display-main';
如需更多输入,您可以在https://palantir.github.io/tslint/rules/ordered-imports/查看规则文档:
如果未设置“组”选项,则使用第三方、父目录和当前目录的默认分组。 (“酒吧”、“../baz”、“./foo”。)
【讨论】:
以上是关于TSLint 对未按字母顺序排列的导入源不满意的主要内容,如果未能解决你的问题,请参考以下文章