Как бороться с ошибкой Tslint превышает 100 символов при использовании импорта в 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

Любые предложения о способах устранения Exceeds maximum line length of 100 при использовании длинного импорта файлов Typescript, будет более чем оценено. Спасибо.

1 ответ

Решение

Здесь есть несколько вариантов

  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 или похожие. Но выберите, что лучше для вашего проекта и ваших потребностей.

Существует возможность игнорировать шаблоны из правила max-line.

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

Пример:

"max-line-length": [
  true,
  {
    "limit": 120,
    "ignore-pattern": "^import "
  }
],
Другие вопросы по тегам