Tìm kiếm trang web

typescript - tsconfig.json: Xây dựng: Không tìm thấy đầu vào nào trong tệp cấu hình


Tôi có một dự án ASP.NET core và tôi đang nhận được 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à tệp tsconfig.json 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?

Câu trả lời #1

TypeScript mong đợi có ít nhất một tệp TypeScript trong thư mục để có thể biên dịch.

Để sửa lỗi, hãy thêm một file TypeScript trống vào thư mục script TypeScript (vị trí của file tsconfig của bạn).

Câu trả lời #2

Bạn cũng có thể thử khởi động lại trình soạn thảo mã của mình. Cách đó cũng hiệu quả.

Câu trả lời #3

Điều này có thể xảy ra vì máy chủ TypeScript không thể tìm thấy bất kỳ tệp nào được mô tả bởi mảng include:

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

Nếu bạn đang sử dụng VSCode, bạn có thể khởi động lại máy chủ TS của mình ngay trong trình chỉnh sửa một cách rất dễ dàng để yêu cầu nó đánh giá lại tệp như sau:

  1. Đi đến bất kỳ tệp .ts hoặc .tsx nào

  2. Mở bảng điều khiển lệnh (CMD + SHIFT + P trên Mac)

  3. Chạy lệnh TypeScript: Restart TS server:

Câu trả lời #4

Tôi hoàn toàn không sử dụng TypeScript trong dự án này nên thật là bực bội khi phải xử lý vấn đề này. Tôi đã khắc phục bằng cách thêm một tsconfig.json và một file.ts rỗng vào thư mục gốc của dự án. Nội dung của tsconfig.json như sau:

{
  "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âu trả lời #5

Trong cấu hình TypeScript hiện đại chỉ cần đặt "allowJs" và không cần thêm bất kỳ tệp .ts trống nào trong các thư mục include như "src" (được chỉ định trong mảng include)

tsconfig.json

{
  "compilerOptions": {
    "allowJs": true,
   ...
  },
  "include": [
    "src"
  ]
}

Câu trả lời số 6

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

Câu trả lời số 7

Tôi có tất cả các tệp .ts của mình bên trong một thư mục src nằm cùng cấp với tsconfig.json của tôi. Tôi nhận được lỗi này khi include của tôi trông như thế này (trước đây nó vẫn hoạt động, một số nâng cấp phụ thuộc đã gây ra lỗi xuất hiện):

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

thay đổi nó thành cái này đã sửa được vấn đề cho tôi:

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

Câu trả lời #8

Khi bạn tạo file tsconfig.json bằng tsc --init, thì nó sẽ chú thích thư mục file đầu vào và đầu ra. Vì vậy, đây là nguyên nhân gốc rễ của lỗi.

Để khắc phục vấn đề, hãy bỏ chú thích hai dòng này:

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

Ban đầu nó sẽ trông như trên sau khi bỏ chú thích.

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

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

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

Câu trả lời số 9

"outDir"

Nên khác với

"rootDir"

ví dụ

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

Câu trả lời số 10

Tôi đang nhận được lỗi này:

Không tìm thấy mục nhập nào trong tệp cấu hình 'tsconfig.json'.

Các đường dẫn include được chỉ định là '["**/*"]' và các đường dẫn exclude là '["**/*.spec.ts","app_/**/*.ts","**/*.d.ts","node_modules"]'.

Tôi có một tệp .tsconfig, nó đọc các tệp TS từ thư mục ./src.

Vấn đề ở đây là thư mục nguồn không chứa bất kỳ tệp .ts nào và tôi đã chạy tslint. Tôi đã giải quyết vấn đề bằng cách loại bỏ tác vụ tslint khỏi tệp gulp của mình, vì tôi không có bất kỳ tệp .ts nào để biên dịch và kiểm tra lint.

Bài viết liên quan