2016-05-24 26 views
6

Tôi đã đọc tham chiếu góc 2 và tìm thấy số này tsconfig.json. Tôi muốn biết các thông số sau có nghĩa là gì?mục đích của tsconfig.json là gì?

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "system", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 
+1

http://www.typescriptlang.org/docs/handbook/tsconfig-json.html – Alex

+2

+1 cho một câu hỏi hay. Đọc tài liệu (đặc biệt là cho các loại chữ hoặc Góc) thường khiến bạn bối rối hơn khi bạn bắt đầu. Có ai đó giải thích nó trên một trang web này là rất tốt. – sgroves

+0

Đồng ý @sgroves. Đây là một câu hỏi hợp lệ. – frosty

Trả lời

12

Tệp tsconfig.json tương ứng với cấu hình trình biên dịch TypeScript (tsc).

Các liên kết này có thể cung cấp cho bạn thông tin chi tiết về các thuộc tính:

Dưới đây là một số gợi ý:

  • mục tiêu: ngôn ngữ được sử dụng cho đầu ra được biên dịch
  • mô-đun: trình quản lý mô-đun được sử dụng trong kết quả được biên dịch. system dành cho SystemJS, commonjs cho CommonJS.
  • mô-đunGiải quyết: chiến lược được sử dụng để giải quyết tệp khai báo mô-đun (.d.ts tệp). Với cách tiếp cận node, họ được nạp từ thư mục node_modules giống như một mô-đun (require('module-name'))
  • sourceMap: tạo ra hay không các file bản đồ nguồn để gỡ lỗi trực tiếp các file nguyên cảo ứng dụng của bạn trong trình duyệt,
  • emitDecoratorMetadata: phát ra hoặc không thiết kế kiểu siêu dữ liệu cho tờ khai trang trí theo nguồn,
  • experimentalDecorators: cho phép hoặc không thực nghiệm hỗ trợ cho các trang trí ES7,
  • removeCo mments: loại bỏ ý kiến ​​hoặc không
  • noImplicitAny: cho phép hay không việc sử dụng các biến/thông số mà không cần các loại (implicit)
3

tsconfig.json biểu thị thư mục lưu giữ là thư mục gốc của dự án TypeScript. Tệp tsconfig.json chỉ định các tệp gốc và các tùy chọn trình biên dịch cần thiết để biên dịch dự án.

Trình biên dịch dự kiến ​​thực hiện theo các cấu hình đề cập:

"mục tiêu": "ES5" => sẽ biên dịch es6 để ES5 để nó là trình duyệt tương thích.

"module": "hệ thống" => xác định các thế hệ đang mô-đun (commonjs', 'amd', 'hệ thống', 'UMD', 'es6' vv)

"moduleResolution": "node" => Xác định cách mô-đun được giải quyết

"sourceMap": true => Tạo tệp '.map' tương ứng để nó có thể được sử dụng trong mã sản xuất để gỡ lỗi.

"removeComments": false => Xóa tất cả nhận xét ngoại trừ chú thích tiêu đề sao chép phải bắt đầu bằng/*!

"noImplicitAny": false => Tăng lỗi trên biểu thức và khai báo với loại ‘bất kỳ’ ngụ ý.

Nếu thuộc tính "loại trừ" được chỉ định, trình biên dịch bao gồm tất cả các tệp TypeScript (* .ts hoặc * .tsx) trong thư mục chứa và thư mục con ngoại trừ các tệp hoặc cặp bị loại trừ.

Các vấn đề liên quan