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

How to deal with Tslint error exceeds 100 characters when using imports in Typescript

我正在导入一个文件:

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 的方法的建议,将不胜感激。谢谢你。

这里选项很少

  1. 您宁愿将导入重写为

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

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

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

  3. 我们实际上完全禁用了该规则,而是开始使用 prettier 重新格式化我们的代码。现在有些行可能太长了,但大多数行的格式都正确,您描述的麻烦已经消失了
  4. 在node中导入这么深的模块(你好像在用Angular,但你还在用node导入模块的方式)其实是不好的做法。你可能想要 re-export 那 BodyTableHeaderExampleModule 在那个路径中的某个地方。

除了 1. 仍然对你不起作用,其他 3 个解决方案都有效。对于长期解决方案,我自己可能会按照 4.- 和 re-export 某处 ../../components/example-table/example-table-header 或类似模块中的描述来解决它。但是请选择最适合您的项目和您的需要的东西。

有一个选项可以忽略 max-line-rule 中的模式。

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

示例:

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