组内的导入源必须按字母顺序排列

时间:2018-06-15 12:31:29

标签: typescript tslint

好像我不知道字母表。请告诉我这里没有订购:

import * as React from 'react';
import {
  Badge,
  Button,
  ButtonGroup,
  Collapse,
  Dropdown,
  DropdownItem,
  DropdownMenu,
  DropdownToggle,
  Input,
  InputGroup,
  InputGroupAddon,
  Nav,
  Navbar,
  NavbarBrand,
  NavItem,
  NavLink,
  UncontrolledAlert,
} from 'reactstrap';
import {logoutUser} from '../actions/user';
import {positionSidebar,toggleSidebar,toggleVisibilitySidebar} from '../actions/navigation';

import s from './Header.scss';

import sender1 from '../../images/1.png';
import sender2 from '../../images/2.png';
import sender3 from '../../images/3.png';

它在第22行给出了错误:“组内的导入源必须按字母顺序排列。”(导入{positionSidebar ....)但是它们是正确订购的!! (或者我可能要回到学校:()。

我试图禁用这个愚蠢的字母顺序:但我也不能:

 "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
 "ordered-imports": [true, {
   "import-sources-order": "any",
   "named-imports-order": "any",
   "grouped-imports": false,
   "module-source-path": "basename"
 }]

这不起作用,错误重复。我会在github上发布它,但有很多关于这个的帖子,也许这不是一个bug。如果你认为它是bug,请告诉我,我会在那里发布。

我的tslint导入:

"tslint": "^5.7.0",
"tslint-config-prettier": "^1.10.0",
"tslint-react": "^3.2.0",

2 个答案:

答案 0 :(得分:5)

订单lint错误不在单个命名的导入上,而是在文件路径上:

import {logoutUser} from '../actions/user';
import {positionSidebar,toggleSidebar,toggleVisibilitySidebar} from '../actions/navigation';

文件路径也用作排序的一部分,应该是:

'../actions/navigation';
'../actions/user';

您可以使用此tslint配置完全禁用导入排序:

"ordered-imports": false

答案 1 :(得分:0)

如果某人像我一样傻,我在Google中搜索了字母顺序并将其复制粘贴到该工具中。我将您使用过的链接链接到您,但可能是在页面关闭时。只需搜索“按字母顺序排列”或类似的命令,肯定会有页面做到这一点。

注意。正如 @hackerrdave 所说:有时问题出在路径而不是导入(当您用方括号{}或*导入某些内容时,我注意到paths命令),因此也许您必须订购路径而不是导入

https://alphabetizer.flap.tv/