Angular -cli: Использование ng lint
Я знаю, что angular -cli использует codelizer, который использует lint.js
При использовании команды:
ng lint
Может ли он автоматически исправить форматирование? или он будет только уведомлять об ошибках форматирования?
ng lint --help
выводит все команды справки для angular -cli.
Ответы
Ответ 1
Обновленный ответ для Angular CLI v6.x, 7.x, 8.x:
ng lint <project-name> --fix
где <имя-проекта> - это "имя:" из package.json
- ответ для Angular CLI v1.x -
ng lint -fix
- Оригинальный ответ ниже -
Чтобы tslint автоматически исправлял много ошибок, запустите следующее в корне вашего кода. Очевидно, что он может только автоматически исправлять более простые проблемы, такие как let → const, "" → 'и т.д.
npx tslint src/**/*.ts --fix
Вчера я сделал это для автоматического устранения -fix сотен проблем let → const в наших довольно больших базах кода. Простое рассмотрение изменений до их фиксации заняло достаточно много времени, а исправление их вручную заняло бы более одного дня.
Ответ 2
Для Angular 6. 0+ вы можете запустить ng lint
с автофиксом следующим образом:
ng lint <project> --fix
где <project>
- это имя, которое вы дали своему проекту при запуске ng new
.
Узнайте больше здесь: https://github.com/angular/angular-cli/wiki/lint
Ответ 3
Функциональность, о которой вы просите, частично доступна в эти дни в код VS с помощью расширение TSLint, которое поддерживает автоматическое исправление для некоторых (но не всех) предупреждений TSLint по умолчанию.
Я использую его в течение нескольких недель, и я нахожу его весьма полезным.
Ответ 4
По-видимому, Angular 6.0 и новее изначально поддерживают эту функцию.
Для предугловой 6.0:
ng lint
запускает tslint (TypeScript linter), который просто печатает ошибки linting. AFAIK, он не позволяет напрямую исправлять найденные проблемы (по состоянию на 16 ноября)
Существуют проекты под названием tslint-fix
которые направлены на исправление ряда так называемых автоматически исправляемых проблем.