Как бороться с ошибкой 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 ответ
Здесь есть несколько вариантов
Вы могли бы скорее переписать импорт в
import { BodyTableHeaderExampleModule } from '../../components/example-table/example-table-header/example-table-header-xxxx/example-table-header-xxxxx.module';
Но да, это все равно будет более 100 символов
Вы можете просто отключить правило tslint для этой строки
- Мы фактически отключили это правило все вместе и вместо этого начали использовать красивее для переформатирования нашего кода. Теперь некоторые строки могут быть слишком длинными, но большинство из них отформатированы правильно, и описанная вами проблема исчезла
- Импортировать такой глубокий модуль в узле (кажется, вы используете 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 "
}
],