当前位置:  开发笔记 > 编程语言 > 正文

如何使用tslint的导入排序规则来订购导入

如何解决《如何使用tslint的导入排序规则来订购导入》经验,为你挑选了2个好方法。

在我的项目中,使用了tslint的"import-ordering"规则

import CopyLensModal from './CopyLensModal';
import FetchStatus from '../../../../../state/generic/models/FetchStatus';
import FlexRow from '../../../../generic/components/FlexRow';
import Geofilter from '../../../../../state/geofilter/models/Geofilter';
import Input from '../../../../generic/components/Input';

import * as React from 'react';
import * as salert from 'sweetalert';

import { func } from '../../../../../types/func';
import { Iterable } from 'immutable';
import { Button } from 'react-bootstrap';

tslint对此订单不满意并因错误而崩溃

[2,1]:组内的导入源必须按字母顺序排列.
[4,1]:组内的导入源必须按字母顺序排列.

这个页面没有多大帮助,我试图以多种不同的方式进口,但没有运气.哪个订单是正确的?



1> cartant..:

我同意这令人困惑.问题是源字符串比较包括../..模块名称的部分,因此要安抚规则,您需要按如下方式对它们进行排序:

import FetchStatus   from '../../../../../state/generic/models/FetchStatus';
import Geofilter     from '../../../../../state/geofilter/models/Geofilter';
import FlexRow       from '../../../../generic/components/FlexRow';
import Input         from '../../../../generic/components/Input';
import CopyLensModal from './CopyLensModal';

该规则有两个部分,可以配置为分别强制执行导入名称和源的排序.要仅强制执行名称排序,您可以使用如下配置:

"ordered-imports": [true, {
  "import-sources-order": "any",
  "named-imports-order": "case-insensitive"
}]

这会导致像这样的导入错误:

import { A, C, B } from 'some-module';

但不会强制对模块路径等进行排序.


如果您使用VSCode和TS 2.8,则可以使用[Organize Imports](https://blogs.msdn.microsoft.com/typescript/2018/03/27/announcing-typescript-2-8/#organize-imports)轻松排序和清理您的导入:)
谢谢!太混乱了.我以为我已经失去了对字母表的掌控一会儿

2> Oswaldo..:

如果没有添加空的新行作为导入组之间的分隔,也会发生此错误。

import * as fs from 'fs';
import * as os from 'os';

import * as bar from './bar';
import * as foo from './foo';

另请注意,错误是否显示如下:

***(5,1): Import sources within a group must be alphabetized.***

这意味着在指定的文件中转到第5行,然后按Enter以在其中添加新的空行作为分隔符。

我做到了,这解决了我的问题。有关此问题的更多参考,请查看此页面

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有