如何处理在打字稿中使用导入时超过100个字符的Tslint错误



我正在导入一个文件:

import { BodyTableHeaderExampleModule } from '../../components/example-table/example-table-header/example-table-header-xxxx/example-table-header-xxxxx.module';

但是,tslint 抱怨该行超过 100 个字符。当我尝试通过执行以下操作来最小化行长度时:

import { BodyTableHeaderExampleModule } from '../../components/example-table/example-table-header/' +
'example-table-header-xxxx/example-table-header-xxxxx.module';

我收到以下 tslint 错误:

ERROR: 11:92  semicolon             Missing semicolon
ERROR: 11:93  no-unused-expression  unused expression, expected an assignment or function call

任何关于在使用长 Typescript 文件导入时补救Exceeds maximum line length of 100的方法的建议,将不胜感激。谢谢。

有一个选项可以忽略最大行规则中的模式。

https://palantir.github.io/tslint/rules/max-line-length/

例:

"max-line-length": [
  true,
  {
    "limit": 120,
    "ignore-pattern": "^import "
  }
],

这里有很少的选择

  1. 您可以宁愿将导入重写为

    import { 
      BodyTableHeaderExampleModule 
    } from '../../components/example-table/example-table-header/example-table-header-xxxx/example-table-header-xxxxx.module';
    

    但是,是的,这仍然超过 100 个字符

  2. 您可以简单地为该行禁用该 tslint 规则

  3. 我们实际上完全禁用了该规则,而是开始使用更漂亮的代码来重新格式化我们的代码。现在有些行可能太长了,但其中大多数的格式正确,您描述的麻烦就消失了
  4. 在节点中导入如此深的模块(您似乎正在使用 Angular,但您仍在使用导入模块的节点样式(实际上是不好的做法。您可能希望将该BodyTableHeaderExampleModule重新导出到该路径中的某个位置。

除了 1. 仍然不适合您,其他 3 种解决方案都是有效的。对于长期解决方案,我自己可能会按照 4 中所述解决它。- 并将模块重新导出到../../components/example-table/example-table-header或类似的地方。但是,选择最适合您的项目和需求的产品。

最新更新