tsconfig.json: Сборка: в файле конфигурации не найдено входных данных

137

У меня есть основной проект ASP.NET, и я получаю эту ошибку, когда пытаюсь его создать:

error TS18003: Build:No inputs were found in config file 'Z:/Projects/client/ZV/src/ZV/Scripts/tsconfig.json'. Specified 'include' paths were '["**/*"]' and 'exclude' paths were '["../wwwroot/app","node_modules/*"]'.
1>         The command exited with code 1.
1>       Done executing task "VsTsc" -- FAILED.

Это мой tsconfig.jsonфайл:

{
  "compileOnSave": true,
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [ "es5", "dom" ],
    "module": "commonjs",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noImplicitAny": false,
    "outDir": "../wwwroot/app/",
    "removeComments": false,
    "sourceMap": true,
    "target": "es6"
  },
  "exclude": [
    "../wwwroot/app",
    "node_modules/*"
  ]
}

Это ошибка или я что-то не так делаю? Я недавно обновил Visual Studio 2015 до обновления 3. Кто-нибудь сталкивался с этим раньше?

клочок земли
источник
5
Это предполагаемое поведение. Вам нужно что-то компилировать.
Алуан Хаддад
1
@AluanHaddad Вы утверждаете это так, будто это правда. Не могли бы вы представить доказательства вашего утверждения.
Serj Sagan
Ваш источник должен быть там, где вы указываете на "include" в tsconfig
Мохаммад Кермани

Ответы:

246

Добавьте пустой файл машинописного текста в папку сценариев машинописного текста (расположение вашего файла tsconfig), чтобы удовлетворить требования компилятора машинописного текста.

клочок земли
источник
59
что это значит?
Кристиан Мэтью
21
@Christian Matthew Это означает, что вам необходимо добавить хотя бы один файл машинописного текста в папку, в которой ваше приложение должно удовлетворять требованиям компилятора машинописного текста.
Руды
12
Что вы имеете в виду под папкой сценария. Не могли бы вы рассказать подробнее?
Сан-
1
Как ни странно ... я использовал этот ответ давным-давно (добавил tsconfig и исправил эту проблему). Когда я добавил Vue в проект, проблема снова возникла ... поэтому мне пришлось затем удалить tsconfig, который я добавил в прошлом, и он сработал: P
joshmcode
1
Спасибо. Работает на меня. Но может ли кто-нибудь объяснить, что на самом деле происходит позади?
DriLLFreAK100
60

Вы также можете попробовать перезапустить редактор кода. Это тоже хорошо работает.

desoga
источник
Вау, у меня это сработало!
JavaRunner,
20

Я вообще не использую TypeScript в этом проекте, поэтому иметь дело с этим довольно неприятно. Я исправил это, добавив tsconfig.json и пустой файл file.ts в корень проекта. Tsconfig.json содержит следующее:

{
  "compilerOptions": {

    "allowJs": false,
    "noEmit": true // Do not compile the JS (or TS) files in this project on build

  },
  "compileOnSave": false,
  "exclude": [ "src", "wwwroot" ],
  "include": [ "file.ts" ]
}
TreeAndLeaf
источник
Спасибо, это сработало для меня. Так что это просто проблема с обновлением редактора кода, а не с React
Санджай Пунгунран
17

Если у вас есть includeмассив (на что, вероятно, жалуется линтер TypeScript):

tsconfig.json

{
  ...
  "include": [
    "./src/"
  ],
}

и вы используете VSCode, вы можете очень легко перезапустить сервер TS в своем редакторе, чтобы он попросил его повторно оценить файл.

CMD+ SHIFT+ P(на Mac) откроет командную строку, а затем найдите TypeScript: Restart TS serverкоманду

введите описание изображения здесь

FrostyDog
источник
Как получить команду TypeScript ? У меня есть только, например, File , Git , GitLens и т. Д.
Лео
1
@Leo при поиске команды убедитесь, что вы просматриваете файл .js/ .jsx/ .ts/ .tsx. Команда, например, недоступна при просмотре .htmlфайла
FrostyDog
10

Если вы используете код vs для редактирования, попробуйте перезапустить редактор. Этот сценарий устранил мою проблему. Я думаю, это проблема с кешем редактора.

Susampath
источник
8

Когда вы создаете tsconfig.jsonфайл tsc --init, он комментирует каталог входного и выходного файлов. Так что это основная причина ошибки.

Чтобы обойти проблему, раскомментируйте эти две строки:

"outDir": "./", 
"rootDir": "./", 

Изначально после комментирования это будет выглядеть так, как указано выше.

Но все мои сценарии .ts были внутри папки src. Итак, я указал / src.

"outDir": "./scripts", 
"rootDir": "./src", 

Обратите внимание, что вам необходимо указать расположение ваших сценариев .ts в rootDir.

Пран Кумар Саркар
источник
5

Я получаю эту ошибку: «В файле конфигурации 'tsconfig.json' входных данных не обнаружено. Указанные пути 'include' были '["**/*"]'и пути 'exclude' были '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

У меня есть файл .tsconfig, который читает файлы TS из папки "./src".

Проблема здесь в том, что исходная папка не содержит файлов .ts, и я запускаю tslint. Я решил проблему, удалив задачу tslint из моего файла gulp. Поскольку у меня нет файлов .ts для компиляции и линтинга. Моя проблема решена этим.

Инуколлу Хари Кришна
источник
4

добавьте местоположение файла .ts в тег 'include', а затем скомпилируйте работу. ех.

"include": [
"wwwroot/**/*" ]
Раджат Кумар
источник
3

При использовании Visual Studio кода , построение проекта (т.е. нажав Ctrl + Shift , + B ), перемещает ts - файл в папку .vscode (я не знаю , почему он делает это), то генерирует ошибку TS18003 . Я переместил свой файл .ts из папки .vscode обратно в корневую папку и снова построил проект.

Проект построен успешно!

Рэнделл Ламонт
источник
он помещает .tsconfig файл в папку .vscode. Если вы переместите его из папки .vscode, вам также может потребоваться отредактировать .vscode / tasks.json, чтобы он указывал на новое местоположение
duggulous
3

Я добавил следующее в корень (визуальная студия)

{
  "compilerOptions": {
    "allowJs": true,
    "noEmit": true,
    "module": "system",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "sourceMap": true
  },
  "include": [
    "**/*"
  ],
  "exclude": [
    "assets",
    "node_modules",
    "bower_components",
    "jspm_packages"
  ],
  "typeAcquisition": {
    "enable": true
  }
}
NicoJuicy
источник
1
Просто пустое поле "exclude": [ "" ]тоже работает (чтобы переопределить значение по умолчанию ./)
spygi
3

У меня все мои файлы .ts находятся в srcпапке, которая принадлежит моему брату tsconfig.json. Я получал эту ошибку, когда includeвыглядел так (раньше она работала, некоторое обновление зависимостей вызывало ошибку):

"include": [
    "src/**/*"
],

изменив его на это, я решил проблему:

"include": [
    "**/*"
],
Кори Коул
источник
1

Кстати, была такая же проблема.

Если у вас был мой случай, то, вероятно, у вас tsconfig.json находится не в том же каталоге, что и файл .ts.

(В моем случае я тупо имел рядом с launch.json и tasks.json внутри папки .vscode: P)

Tha Brad
источник
так что ровно наоборот по сравнению с ответом @Noximus: D
Tha Brad
1

В моем решении были существующие файлы tsconfig для 4 существующих проектов. После обновления до vs2017 у меня возникла эта проблема. Это было исправлено добавлением (предположительно по умолчанию) разделов включения и исключения в файлы, как описано NicoJuicy.

Элрой Флинн
источник
1

Если вам не нужна компиляция TypeScript, отключите ее в своем .csprojфайле, согласно этому сообщению .

Просто добавьте в свой .csprojфайл следующую строку :

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
RubbelDieKatz
источник
1
"outDir"

Должен отличаться от

"rootDir"

пример

    "outDir": "./dist",
    "rootDir": "./src", 
FDisk
источник
0

У меня есть tsconfig.jsonфайл, который не относится ни к каким файлам .ts. Это в отдельной папке. Вместо этого я использую его только как основу для других файлов tsconfig через "extends": "../Configs/tsconfig.json". Как только я переименовал базовый файл конфигурации во что-то другое, например base-tsconfig.json(и обновил extendsоператоры), ошибка исчезла, и расширение все еще работало.

user764754
источник
0

У меня такая же ошибка, и в моем случае это было потому, что vscode не мог распознать .tsфайл.

Он видел его как текстовый файл, и мне пришлось переименовать его, чтобы удалить одну букву и добавить обратно, чтобы она работала.

Бахтияр Музакпаров
источник
0

Я постоянно сталкивался с этой проблемой, упаковывая свои проекты в nugets с помощью Visual Studio 2019. После долгих поисков решения я, кажется, решил ее, следуя советам из этой статьи.

MSBuild и машинописный текст

особенно часть о том, <TypeScriptCompile />где я включил все свои ресурсы .ts с помощью оператора Include и исключил другие, такие как node_modules, с помощью оператора Remove. Затем я удалил файл tsconfig.json в каждом оскорбительном проекте, и пакеты nuget были сгенерированы, и больше никаких ошибок

Laurence73
источник
0

Я получил ту же ошибку, когда сделал резервную копию node_modulesпапки в том же каталоге. Когда это произошло, я пытался решить другую ошибку сборки. Надеюсь, этот сценарий кому-то поможет. Удалите папку резервной копии, и сборка будет завершена.

chadiusvt
источник