tsconfig.json: Build: в конфігураційному файлі не знайдено входів


136

У мене є основний проект 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


Ваше джерело має бути там, де ви вказуєте "включити" на tsconfig
Мохаммад Кермані

Відповіді:


245

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


59
що це означає?
Крістіан Матвій

21
@Christian Matthew Це означає, що вам потрібно додати принаймні один файл машинопису до папки, у якій ваш додаток задовольняє компілятор.
rood

12
Що ви маєте на увазі під папкою сценарію. Чи можете ви, будь ласка, детальніше розробити ??
Сан-Джайсі

1
Як не дивно .. я давно використовував цю відповідь (додав tsconfig і це виправив це питання). Коли я додав Vue до проекту, проблема з’явилася знову ... тому мені довелося потім видалити tsconfig, який я додав у минулому, і він спрацював: P
joshmcode

1
Дякую. Працює для мене. Але чи може хтось пояснити, що насправді відбувається позаду?
DriLLFreAK100

60

Ви також можете спробувати перезапустити редактор коду. Це теж добре працює.


Нічого собі, це працювало для мене!
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" ]
}

Дякую, цей працював на мене. Тож проблема лише з оновленням редактора коду проти коду не з React
Санджай Поунгуран

17

Якщо у вас є includeмасив (на який, швидше за все, скаржаться вкладиш TypeScript):

tsconfig.json

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

і ви використовуєте VSCode, ви можете легко перезапустити TS-сервер у своєму редакторі дуже легко, щоб запропонувати йому повторно оцінити файл.

CMD+ SHIFT+ P(на Mac) відкриє командний рядок і знайде TypeScript: Restart TS serverкоманду

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


Як отримати команду TypeScript ? У мене є, наприклад, Файл , Git , GitLens тощо
Лев,

1
@Не переконайтеся, що ви переглядаєте .js/ .jsx/ .ts/ .tsxфайл, шукаючи команду. Наприклад, ця команда недоступна під час перегляду .htmlфайлу
FrostyDog

10

Якщо ви використовуєте код для редагування, то спробуйте перезапустити редактор. Цей сценарій вирішив мою проблему. Я думаю, що це проблема з кешем редактора.


8

Коли ви створюєте tsconfig.jsonфайл за допомогою tsc --init, він коментує каталог вхідних та вихідних файлів. Отже, це першопричина помилки.

Щоб вирішити проблему, коментуйте ці два рядки:

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

Спочатку це виглядатиме як вище після відміни коментарів.

Але всі мої сценарії .ts були у папці src. Так я вказав / src.

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

Зверніть увагу, що вам потрібно вказати розташування ваших .ts скриптів у rootDir.


5

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

У мене є файл .tsconfig, який читає файли ts з папки "./src".

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


4

Додайте .ts розташування файлу в тег "включити", потім компілюйте роботу. колишній

"include": [
"wwwroot/**/*" ]

3

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

Проект побудований успішно!


він поміщає .tsconfig файл у папку .vscode. Якщо ви перемістите його з папки .vscode, вам також може знадобитися відредагувати .vscode / task.json, щоб вказати на нове місце розташування
розбірливий

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
  }
}

1
Просто порожній "exclude": [ "" ]теж працює (щоб замінити дефолт, який є ./)
шпигуни

3

У мене всі мої файли .ts у srcпапці, яка є моїм братом tsconfig.json. Я отримував цю помилку, коли мій includeвиглядав так (він працював раніше, деяке оновлення залежності викликало появу помилки):

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

змінивши його на цю проблему, виправили для мене проблему:

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


1

Btw, просто була та сама проблема.

Якщо у вас був мій випадок, то, ймовірно, tsconfig.json не в тому ж каталозі, що і файл .ts.

(У моєму випадку я тупо мав поруч з start.json і task.json всередині папки .vscode: P)


так точно навпаки порівняно з відповіддю @Noximus: D
Tha Brad

1

У мене в рішенні були файли tsconfig для 4 існуючих проектів. Після переходу на vs2017 у мене виникла ця проблема. Це було виправлено шляхом додавання (нібито за замовчуванням) розділів у файли та виключення, як описано NicoJuicy.


1
"outDir"

Слід відрізнятися від

"rootDir"

приклад

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

0

Якщо ви не хочете компіляції TypeScript, відключіть її у вашому .csprojфайлі відповідно до цього допису .

Просто додайте у .csprojфайл наступний рядок :

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

0

У мене є tsconfig.jsonфайл, який не стосується жодних файлів .ts. Це в окремій папці. Натомість я використовую його лише як основу для інших файлів tsconfig через "extends": "../Configs/tsconfig.json". Щойно я перейменував базовий конфігураційний файл на щось інше, наприклад base-tsconfig.json(і оновив extendsзаяви), помилка пішла і розширення все ще працювало.


0

Я отримав таку ж помилку, і в моєму випадку це було тому, що vscode не міг розпізнати .tsфайл.

Він бачив це як текстовий файл, і мені довелося перейменувати його, щоб видалити одну букву та додати її назад, щоб вона працювала.


0

Я постійно стикався з цим питанням, упакуючи свої проекти в ноти через Visual Studio 2019. Після пошуку рішення на віки я, здається, вирішив це, дотримуючись порад у цій статті

MSBuild & Typescript

особливо частина про те, <TypeScriptCompile />куди я включив усі свої .ts-ресурси з оператором Включення та виключив інші, такі як node_modules з оператором Remove. Потім я видалив файл tsconfig.json у кожному проекті, що порушує право, і створені пакунки нута, і більше помилок


0

Я отримав цю саму помилку, коли зробив резервну копію node_modulesпапки в тому самому каталозі. Коли я стався, я намагався вирішити іншу помилку збірки. Я сподіваюся, що цей сценарій комусь допомагає. Видаліть папку резервного копіювання, і збірка завершиться.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.