#typescript #vue.js #typescript-eslint
#typescript #vue.js #typescript-eslint
Вопрос:
Я использую vue
и только что обновил @typescript-eslint/eslint-plugin": "^3.10.1"
. Мой проект содержит несколько компонентов. Некоторые из них используют javascript
и другие typescript
.
Предупреждение
У меня есть это предупреждение для методов внутри не typescript
компонентов
предупреждение: Отсутствует возвращаемый тип в функции (@typescript-eslint /явные типы границ модуля)
Вопрос
Как я мог не применить это правило к .vue
файлу, который не использует <script lang="ts">
?
Комментарии:
1.Я сталкиваюсь с той же проблемой. Похоже, это ограничение
eslint-plugin-vue
плагина — он применяет правила Typescript как к Vue javascript<script>
, так и кКомпоненты с одним файлом на Typescript<script lang="ts"
. К сожалению, мы не можем получить чистый вывод eslint при повторном использовании таких смешанных компонентов из других источников. Вы нашли решение?
Ответ №1:
Итак, цель этого правила — обеспечить, чтобы экспортируемые модули имели понятный интерфейс для тех, кто использует его извне. На странице правил, кажется, имеет смысл использовать для .ts
файлов вместо .vue
files, но вы можете судить по потребностям вашего проекта.
Для моего проекта я использовал предложенную overrides
конфигурацию:
{
"rules": {
// disable the rule for all files
"@typescript-eslint/explicit-module-boundary-types": "off"
},
"overrides": [
{
// enable the rule specifically for TypeScript files
"files": ["*.ts", "*.tsx"],
"rules": {
"@typescript-eslint/explicit-module-boundary-types": ["error"]
}
}
]
}
Кроме этого, я не думаю, что у вас есть filters
что сказать on the caught .vue files by eslint, only apply the rule on the ones matched by: 'having <script lang="ts">'
.
Возможно, вам лучше использовать встроенные комментарии для этих специфических ошибок.
Редактировать
Другим решением, которое я вижу, может быть ручной список ваших файлов в .eslint.config
файле.
Смотрите также
- Расширение компоновки TypeScript с помощью правил, учитывающих типы
- Я получаю сообщения об ошибках, сообщающие мне, что «Файл должен быть включен хотя бы в один из предоставленных проектов»
Если вы хотите вставить файл с учетом типа: проверьте опцию включения каждого из tsconfigs, которые вы предоставляете parserOptions.project — вы должны убедиться, что все файлы соответствуют глобусу include, иначе наши инструменты не смогут его найти. Если ваш файл не должен быть частью одного из ваших существующих tsconfigs (например, это скрипт / инструмент, локальный для репозитория), тогда рассмотрите возможность создания нового tsconfig (мы рекомендуем называть его tsconfig.eslint.json) в корне вашего проекта, который перечисляет этот файл в своем include. Для примера этого вы можете ознакомиться с конфигурацией, которую мы используем в этом репозитории: tsconfig.eslint.json .eslintrc.js