tsconfig.json: Build: Không tìm thấy đầu vào nào trong tệp cấu hình


136

Tôi có một dự án lõi ASP.NET và tôi gặp lỗi này khi tôi cố gắng xây dựng nó:

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.

Đây là tsconfig.jsontập tin của tôi :

{
  "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/*"
  ]
}

Đây có phải là một lỗi hay tôi đang làm gì đó sai? Gần đây tôi đã nâng cấp Visual Studio 2015 lên bản cập nhật 3. Có ai gặp phải điều này trước đây chưa?


5
Đây là hành vi dự định. Bạn cần phải có một cái gì đó để biên dịch.
Aluan Haddad

1
@AluanHaddad Bạn nói điều này như thể nó là sự thật. Bạn có thể vui lòng cung cấp bằng chứng cho khẳng định của bạn.
Serj Sagan


Nguồn của bạn phải là nơi bạn đang trỏ vào "bao gồm" trên tsconfig
Mohammad Kermani

Câu trả lời:


245

Thêm một tệp bản thảo trống vào thư mục tập lệnh bản thảo (vị trí của tệp tsconfig) để đáp ứng trình biên dịch bản thảo.


59
Điều đó có nghĩa là gì?
Christian Matthew

21
@Christian Matthew Điều này có nghĩa là, bạn cần thêm ít nhất một tệp bản thảo vào thư mục nơi ứng dụng của bạn đáp ứng trình biên dịch bản thảo.
rood

12
Bạn có ý nghĩa gì bởi thư mục script. Bạn có thể vui lòng giải thích thêm ??
San Jaisy

1
Trớ trêu .. tôi đã sử dụng câu trả lời này từ lâu (đã thêm tsconfig và nó đã khắc phục vấn đề này). Khi tôi thêm Vue vào dự án, vấn đề lại xuất hiện ... vì vậy tôi phải xóa tsconfig mà tôi đã thêm trước đây và nó đã hoạt động: P
joshmcode

1
Cảm ơn. Làm việc cho tôi. Nhưng bất cứ ai có thể giải thích những gì thực sự xảy ra đằng sau?
DriLLFreAK100

59

Bạn cũng có thể thử khởi động lại trình soạn thảo mã của mình. Điều đó cũng làm việc tốt.


Wow, làm việc cho tôi!
JavaRunner

20

Tôi hoàn toàn không sử dụng TypeScript trong dự án này nên khá khó chịu khi phải xử lý vấn đề này. Tôi đã sửa lỗi này bằng cách thêm tsconfig.json và tệp file.ts trống vào thư mục gốc của dự án. Tsconfig.json chứa điều này:

{
  "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" ]
}

Cảm ơn, cái này làm việc cho tôi Vì vậy, đây chỉ là sự cố cập nhật trình chỉnh sửa mã vs không phải với React
Sanjay Poongunran

17

Nếu bạn đã có một includemảng (đó là điều mà trình giả lập TypeScript có thể phàn nàn):

tsconfig.json

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

và bạn đang sử dụng VSCode, bạn có thể khởi động lại máy chủ TS trong trình soạn thảo của mình một cách dễ dàng để nhắc nó đánh giá lại tệp.

CMD+ SHIFT+ P(trên Mac) sẽ mở dấu nhắc lệnh và sau đó tìm TypeScript: Restart TS serverlệnh

nhập mô tả hình ảnh ở đây


Làm thế nào để bạn nhận được lệnh TypeScript ? Tôi chỉ có ví dụ như tập tin , Git , GitLens , vv
Leo

1
@Leo hãy chắc chắn bạn đang xem .js/ .jsx/ .ts/ .tsxtập tin khi bạn tìm kiếm các lệnh. Ví dụ, lệnh không khả dụng khi bạn đang xem một .htmltệp
FrostyDog

10

Nếu bạn đang sử dụng mã vs để chỉnh sửa thì hãy thử khởi động lại trình chỉnh sửa. Kịch bản này đã khắc phục sự cố của tôi. Tôi nghĩ đó là vấn đề với bộ đệm của trình soạn thảo.


8

Khi bạn tạo tsconfig.jsontệp bằng cách tsc --init, sau đó nó nhận xét thư mục tệp đầu vào và đầu ra. Vì vậy, đây là nguyên nhân gốc của lỗi.

Để giải quyết vấn đề, hãy bỏ qua hai dòng này:

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

Ban đầu nó sẽ trông như trên sau khi không bình luận.

Nhưng tất cả các tập lệnh .ts của tôi nằm trong thư mục src. Vì vậy, tôi đã chỉ định / src.

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

Xin lưu ý rằng bạn cần chỉ định vị trí của tập lệnh .ts trong rootDir.


5

Tôi gặp lỗi này, "Không tìm thấy đầu vào nào trong tệp cấu hình 'tsconfig.json'. Đường dẫn 'bao gồm' được chỉ định là '["**/*"]'và đường dẫn 'loại trừ' '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

Tôi có tệp .tsconfig, đọc tệp ts từ thư mục "./src".

Vấn đề ở đây là với thư mục nguồn không chứa tệp .ts và tôi đang chạy tslint. Tôi đã giải quyết vấn đề bằng cách xóa tác vụ tslint khỏi tệp gulp của mình. Vì tôi không có bất kỳ tập tin .ts nào được biên dịch và in. Vấn đề của tôi được giải quyết bằng cách làm điều này.


4

thêm vị trí tệp .ts trong thẻ 'include' sau đó biên dịch hoạt động tốt. Ví dụ.

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

3

Khi sử dụng Visual Studio Code , xây dựng dự án (tức là nhấn Ctrl + Shift + B ), di chuyển tệp .ts của bạn vào thư mục .vscode (tôi không biết tại sao lại làm như vậy), sau đó tạo ra lỗi TS18003 . Những gì tôi đã làm là di chuyển tệp .ts của tôi ra khỏi thư mục .vscode , quay lại thư mục gốc và xây dựng lại dự án.

Dự án được xây dựng thành công!


nó đặt tập tin .tsconfig vào thư mục .vscode. Nếu bạn di chuyển nó ra khỏi thư mục .vscode, bạn cũng có thể cần chỉnh sửa .vscode / task.json để trỏ đến vị trí mới
khó khăn vào

3

Tôi đã thêm vào sau trong root (visual studio)

{
  "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
Chỉ là một "exclude": [ "" ]tác phẩm trống (để ghi đè mặc định ./)
spygi

3

Tôi có tất cả các tệp .ts của mình trong một srcthư mục là anh chị em của tôi tsconfig.json. Tôi đã gặp lỗi này khi tôi includetrông như thế này (nó đã hoạt động trước đây, một số nâng cấp phụ thuộc gây ra lỗi hiển thị):

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

thay đổi nó thành vấn đề này đã khắc phục vấn đề cho tôi:

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


1

Btw, chỉ có vấn đề tương tự.

Nếu bạn gặp trường hợp của tôi, thì có lẽ bạn có tsconfig.json không nằm trong cùng thư mục với tệp .ts.

(Trong trường hợp của tôi, tôi đã ngu ngốc bên cạnh launch.json và task.json bên trong thư mục .vscode: P)


Vì vậy, chính xác là cách khác so với câu trả lời @Noximus: D
Tha Brad

1

Tôi đã có các tệp tsconfig hiện tại cho 4 dự án hiện có trong giải pháp của mình. Sau khi nâng cấp lên vs2017 tôi gặp vấn đề này. Nó đã được sửa bằng cách thêm (bao gồm mặc định) bao gồm và loại trừ các phần vào các tệp, như được mô tả bởi NicoJuicy.


1
"outDir"

Nên khác với

"rootDir"

thí dụ

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

0

Nếu bạn không muốn biên dịch TypeScript, hãy tắt nó trong .csprojtệp của bạn , theo bài đăng này .

Chỉ cần thêm dòng sau vào .csprojtập tin của bạn :

<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

0

Tôi có một tsconfig.jsontệp không áp dụng cho bất kỳ tệp .ts nào. Nó nằm trong một thư mục riêng. Thay vào đó tôi chỉ sử dụng nó làm cơ sở cho các tệp tsconfig khác thông qua "extends": "../Configs/tsconfig.json". Ngay sau khi tôi đổi tên tập tin cấu hình cơ sở thành một cái gì đó khác, ví dụ base-tsconfig.json(và cập nhật các extendscâu lệnh), lỗi đã biến mất và việc mở rộng vẫn hoạt động.


0

Tôi đã gặp lỗi tương tự và trong trường hợp của tôi là do vscode không thể nhận ra .tstệp.

Nó đã xem nó dưới dạng tệp văn bản và tôi đã phải đổi tên nó để xóa một chữ cái và thêm nó trở lại để làm cho nó hoạt động.


0

Tôi đã gặp phải vấn đề này liên tục trong khi đóng gói các dự án của mình vào nugets qua Visual Studio 2019. Sau khi tìm kiếm một giải pháp cho lứa tuổi, tôi dường như đã giải quyết điều này bằng cách làm theo lời khuyên trong bài viết này

MSBuild & Bản đánh máy

đặc biệt là một phần về <TypeScriptCompile />nơi tôi đã bao gồm tất cả các tài nguyên .ts của mình với toán tử Bao gồm và loại trừ các tài nguyên khác như node_modules với toán tử Remove. Sau đó tôi đã xóa tệp tsconfig.json trong mỗi dự án vi phạm và các gói nuget đã được tạo và không còn lỗi nữa


0

Tôi đã nhận được lỗi tương tự khi tôi tạo một bản sao lưu của node_modulesthư mục trong cùng thư mục. Tôi đang trong quá trình cố gắng giải quyết một lỗi xây dựng khác khi điều này xảy ra. Tôi hy vọng kịch bản này sẽ giúp được ai đó. Xóa thư mục sao lưu và quá trình xây dựng sẽ hoàn tất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.