Câu hỏi Làm thế nào tôi có thể chuyển nhiều tệp nguồn tới trình biên dịch TypeScript?


TypeScript được thiết kế cho các dự án JavaScripty quy mô lớn, thường bao gồm nhiều tệp được sản xuất nội bộ cùng với các thư viện được sản xuất bên ngoài. Trình biên dịch TypeScript (tsc) mong đợi bạn cung cấp nó như thế nào với tập hợp đầy đủ các tệp tạo nên một dự án?


36
2017-10-02 23:13


gốc


Không thể trả lời câu hỏi của riêng tôi, do đó, để có được quả bóng lăn, có ít nhất hai cách mà TSC có thể trở thành nhận thức của tài liệu tham khảo: 1. Thêm một bình luận ba dấu gạch chéo có chứa một yếu tố tham chiếu đến đỉnh của một .ts tệp nguồn như thế này: /// & lt; reference path = "node.d.ts" / & gt; 2. Chuyển tùy chọn "--reference" trên dòng lệnh như sau: tsc --reference node.d.ts server.ts - CCoder
Một ứng dụng mà tôi đã viết On the Fly, qua tại onthefly.codeplex.com cho phép bạn chuyển bất kỳ số lượng tệp nào vào trình biên dịch TypeScript - và bạn có thể xây dựng / biên dịch tất cả các tệp này cùng một lúc, chỉ với một cú nhấp chuột. Tôi không "quảng cáo" hoặc "trolling" chỉ cho phép càng nhiều người càng tốt biết có một ứng dụng nhỏ giúp giảm đau, vì việc biên dịch tự động với TypeScript đã được chứng minh là có vấn đề đối với nhiều người. - Arrow


Các câu trả lời:


dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt

Điều này sẽ biên dịch tất cả *.ts các tệp trong thư mục làm việc và các thư mục con của nó. Nếu bạn không muốn bao gồm các thư mục con, chỉ cần xóa /s một phần từ dòng đầu tiên.

Lưu ý rằng bạn cũng có thể thêm đối số khác vào tsc hàng. Đây là những gì tôi đang sử dụng ngay bây giờ cho một trong các dự án của tôi:

tsc @ts-files.txt --out ..\output/deerchao.web.js --removeComments

40
2018-05-08 06:00



Tôi đã thử điều này và tôi không thể làm cho nó hoạt động được. Bất kỳ ý tưởng? stackoverflow.com/questions/25199866/… - homaxto
Hoạt động tốt. Tôi chạy giải pháp đó và có vấn đề tiếp theo: "lỗi TS5037: Không thể biên dịch mô-đun bên ngoài trừ khi cờ '--module' được cung cấp." Điều đó đã được sửa dễ dàng chỉ cần thêm mô-đun như thế này: tsc @ ts-files.txt --module "commonjs" - Aebsubis


tsc có thể biên dịch nhiều nguồn theo thứ tự nếu bạn chỉ cần đặt tên theo thứ tự:

tsc foo.ts bar.ts

Bạn cũng có thể chuyển một tệp văn bản chứa danh sách tệp và đối số dòng lệnh từ tệp văn bản bằng cách sử dụng @ đối số dòng lệnh.

tsc @compile.txt

compile.txt có thể trông như thế này:

--module amd
foo.ts
bar.ts

Cũng lưu ý rằng nếu trên tệp tham chiếu khác thông qua một import, tsc sẽ tự động tìm ra điều đó mà không cần phải liệt kê rõ ràng tệp mà nó phụ thuộc vào.


24
2017-10-02 23:41



Khi biên dịch một tệp, bản ghi sẽ xuất mã được tạo ra của các tệp được tham chiếu khác. Bằng cách chuyển tất cả các tệp đến trình biên dịch, nó không làm điều này. (Có một đối số dòng lệnh để ngăn không cho nó bao gồm các tham chiếu khi biên dịch một tệp không?) - Rick Love
Trên thực tế, nó chỉ bao gồm mã tham chiếu khi sử dụng tham số --out. Vì vậy, có một cách để thay đổi tên tập tin đầu ra mà không thay đổi hành vi? - Rick Love
chúng ta có thể nhận được tên tập tin khác nhau như là tập tin đầu ra từ đầu vào sau khi biên dịch? nếu có thì làm thế nào xin vui lòng đề nghị bất kỳ phương pháp. tôi muốn chuyển đổi .ts sang tập tin .js. - Pardeep Jain
Tôi có phải là người duy nhất nghĩ rằng điều lạ lùng là tôi không thể chạy tsc *.ts ? - Michel


Trong trường hợp bất cứ ai cần điều này cho Mac OS X:

find . -name "*.ts" -type f >ts-files.txt
/usr/local/bin/tsc @ts-files.txt --module CommonJS --out ./Deploy/ServerMain.js --removeComments
rm ts-files.txt

2
2018-01-05 01:39





Với TypeScript 1.5 (beta nhưng phiên bản cuối cùng sẽ sớm có), bạn có thể tạo tệp tsconfig.json để định cấu hình trình biên dịch TypeScript và các tệp để biên dịch (trong số những thứ khác). Xem câu trả lời của tôi ở đó: Làm thế nào để xem và biên dịch tất cả các nguồn TypeScript?


1
2018-06-22 05:14





Hoặc đơn giản:

find ./my/path/ -name \"*.ts\" -type f | tsc

0
2017-07-14 12:47





Nếu ai đó cần nhiều tệp được dịch trước khi biên dịch dự án thực tế, hãy sử dụng riêng biệt tsconfig với --dự án tùy chọn trình biên dịch.

Biên dịch một dự án cho một tập tin cấu hình hợp lệ. Đối số có thể   là đường dẫn tệp đến tệp cấu hình JSON hợp lệ hoặc đường dẫn thư mục   vào thư mục chứa tệp tsconfig.json. Xem tsconfig.json   tài liệu để biết thêm chi tiết.

Một trường hợp sử dụng sẽ là nhu cầu của các tệp JS được sử dụng sau đó trong các đối số dòng lệnh cho các tập lệnh ứng dụng ionic.


0
2017-12-06 08:40



nó ném error TS5042: Option 'project' cannot be mixed with source files on a command line. nếu bạn cố gắng sử dụng tùy chọn --project hoặc -p khi chỉ định tệp để biên dịch. - vikas