Ошибка tsconfig.json: Build: No inputs were found in config file — как исправить?
Причина ошибки
Ошибка возникает, потому что TypeScript не знает, какие именно файлы компилировать. В вашем конфиге указан rootDir: "src", но не заданы свойства include или files. Компилятор видит директорию src, но не понимает, что нужно обрабатывать все файлы внутри неё. По умолчанию TypeScript ищет .ts файлы только в корне проекта, если не указано иное.
Решение 1: Добавить свойство include
Самый простой способ — явно указать, какие файлы или папки нужно включить в компиляцию. Добавьте в tsconfig.json свойство include:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"rootDir": "src",
"outDir": "dist",
"strict": true
},
"include": ["src/**/*"]
}
Шаблон "src/**/*" означает: взять все файлы (любого расширения, но TypeScript отфильтрует только .ts, .tsx и .d.ts) из папки src и всех её подпапок. После этого ошибка исчезнет, а файл app.ts будет скомпилирован в dist/app.js.
Решение 2: Использовать свойство files
Если у вас мало файлов и вы хотите явно перечислить их, используйте files:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"rootDir": "src",
"outDir": "dist",
"strict": true
},
"files": ["src/app.ts"]
}
Этот способ неудобен для больших проектов, так как каждый новый файл нужно добавлять вручную.
Решение 3: Убрать rootDir
Если вы уберёте rootDir, TypeScript будет компилировать все .ts файлы из папки проекта (и подпапок), но структура выходных файлов может стать неожиданной. Обычно это не рекомендуется, но как временное решение — сработает.
Дополнительные советы для Visual Studio 2015
- Перезагрузите проект: После изменения
tsconfig.jsonиногда нужно выгрузить и загрузить проект заново (правой кнопкой по проекту → Unload Project → Reload Project). - Проверьте версию TypeScript: В VS 2015 может быть установлена устаревшая версия. Убедитесь, что используется TypeScript 2.0+ (через Tools → Extensions and Updates).
- Очистите кэш: Удалите папки
binиobjв проекте, затем пересоберите решение. - Используйте exclude: Если в
includeпопадают лишние файлы (например,node_modules), добавьтеexclude:
{
"compilerOptions": { ... },
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
После этих изменений ошибка No inputs were found должна исчезнуть. Если нет — проверьте, что файл app.ts действительно находится в папке src и имеет расширение .ts, а не .txt или другое.
Альтернативный подход: настройка через Visual Studio UI
В Visual Studio 2015 можно настроить компиляцию TypeScript без ручного редактирования tsconfig.json. Это особенно полезно, если вы не хотите разбираться в конфигурации.
- Щёлкните правой кнопкой по проекту в Solution Explorer → выберите Properties.
- Перейдите на вкладку TypeScript Build.
- Убедитесь, что Compile on save включён.
- В разделе General установите ECMAScript version (например, ES5).
- В поле Root directory of TypeScript files укажите
src(или оставьте пустым для корня проекта). - Нажмите OK.
Если после этого ошибка остаётся, попробуйте удалить tsconfig.json из проекта — Visual Studio может использовать свои настройки, игнорируя конфиг. Но учтите: без tsconfig.json вы потеряете гибкость настройки (например, strict mode).
Также проверьте, что файл app.ts добавлен в проект (отображается в Solution Explorer). Если он лежит в папке, но не включён в проект, VS его не увидит. Добавьте его через Add → Existing Item.
Этот метод подходит для быстрого старта, но для серьёзных проектов рекомендую использовать tsconfig.json с явным include — это даёт больше контроля и переносимости между средами.
Ответов пока нет.
Войдите чтобы оставить ответ