Vue/МашиНопись/Линтинг исключают файлы .vue

#typescript #vue.js #eslint

Вопрос:

У меня есть проект Vue2, который я медленно конвертирую в машинописный текст. Мой первый этап-просмотреть файлы .js, переименовать их в .ts и убедиться, что они соответствуют правилам компоновки.

Проблема в том, что когда я запускаю сборку, она собирает все файлы .vue (а также файлы .js) и выдает множество ошибок компоновки.

Как я могу предотвратить вставку файлов, отличных от файлов .ts?

К вашему сведению — я попытался создать совершенно новый проект vue cli и скопировать разделы eslintrc, tsconfig и соответствующий package.json в свой проект. Однако это не решает проблему. Я также попытался настроить раздел «включить» файла tsconfig так, чтобы он указывал только на один мой файл .ts, который является голым (не имеет импорта и просто экспортирует строку). Однако, когда я делаю сборку, она все еще жалуется на каждый файл .vue, . js и т. Д.

Я не уверен, связано ли это с чем-то или это отдельный вопрос, но после того, как эта проблема будет решена и я преобразовал все файлы .js в .ts, мне нужно будет начать с файлов .vue. Это означало бы, что мне нужно будет нацеливаться только на файлы .vue с тегами script lang=ts.

Ответ №1:

Указанные параметры vue-cli-service lint передаются в ESLint, поэтому вы можете передать --ext возможность указать, какие расширения файлов будут использоваться в lint.

Например, этот lint сценарий NPM связывает только .ts файлы в ./src папке и ее подкаталогах:

 // package.json
{
  "scripts": {
    "lint": "vue-cli-service lint ./src --ext .ts"
  }
}
 

В качестве альтернативы вы можете запустить это непосредственно из командной строки, а yarn также передать аргументы базовому сценарию NPM:

 yarn lint ./src --ext .ts
 

Комментарии:

1. Привет, спасибо за информацию. Можно ли в этом сценарии использовать несколько линтеров, например линтер ts для ts и обычный линтер для js? Кроме того, можно ли будет использовать это для анализа файлов vue и применения ts при наличии тега script=ts? Спасибо!