Tôi có một TypeScript (ts) đơn giản cần một hàm từ tệp JavaScript. Làm thế nào tôi có thể nhập tập tin js đó vào tập tin ts? Tôi có phải tạo tệp ts cho tệp js đó để có thể sử dụng tệp đó trong tệp ts của tôi không?Tải tệp js vào tệp bản ghi
Trả lời
Cách đơn giản nhất là chỉ cần declare
chức năng bạn đang sử dụng:
File1.js
function greet() { return "Hello!"; }
File2.ts
declare function greet(): string;
/* ... later ... */
var hi = greet();
Nếu kịch bản của bạn là com hơn plex (tức là nhiều tệp tham chiếu File1.js hoặc có nhiều hàm trong File1.js sẽ lộn xộn lên File2.ts), bạn có thể tạo tệp File1.d.ts và tham chiếu từ File2.ts:
File1. d.ts
function greet(): string;
File2.ts
/// <reference path="File1.d.ts" />
/* ... later ... */
var hi = greet();
Chỉ cần cho các tài liệu lưu trữ, nếu bạn thêm một ref /// cho một tập tin JavaScript bên trong tập tin TS của bạn, trình biên dịch sẽ cố gắng xác nhận tất cả mã trong các tệp JS và ném một danh sách lỗi lớn. Hãy thử nó với jQuery hoặc một cái gì đó như thế và bạn sẽ thấy những gì tôi có ý nghĩa.
Yup, tôi đã thấy điều đó. Tôi đặt khai báo var $ và không bao gồm ref trong các dự án không có jquery tệp d.ts. –
Đó là cách nhanh nhất để thêm hỗ trợ cho bất kỳ loại nào mà bạn không có tệp .d.ts cho. Những điều tốt đẹp về các tập tin định nghĩa là bạn nhận được Intellisense. –
https://github.com/borisyankov/DefinitelyTyped –
- 1. tải jQuery vào một tệp js khác
- 2. tải tệp Js trong HTML
- 3. Trình tải tệp JS lên, tức là không tải toàn bộ tệp vào bộ nhớ
- 4. Cách đọc tệp và ghi vào tệp văn bản?
- 5. Plugin văn bản require.js thêm ".js" vào tên tệp
- 6. JS góc: Tải các tệp CSS và JS động
- 7. Đặt javascript vào một tệp .js hoặc chia nhỏ thành nhiều tệp .js?
- 8. Tại sao requirejs cố gắng nối thêm một tệp '.js' vào tệp .jst được tải bằng plugin văn bản!
- 9. Tải tệp lên máy chủ Node JS
- 10. mod_rewrite không tải tệp css và js
- 11. tải lên tệp bằng EXT JS
- 12. tải tệp js và các tệp js phụ thuộc khác một cách không đồng bộ
- 13. Thêm tệp CSS hoặc JS vào MediaWiki?
- 14. Bao gồm tệp .js trong tệp .js
- 15. Cách ghi luồng vào tệp?
- 16. Nhận $ webclient.downloadstring để ghi vào tệp văn bản trong Powershell
- 17. Tệp JS tham chiếu trong Tệp JS khác và Intellisense
- 18. JMeter - Tệp tải lên và tệp tải xuống kịch bản
- 19. Ghi vào tệp txt từ StringWriter
- 20. Làm cách nào để đưa tệp js vào tệp js khác?
- 21. Đang cố tải một API và một tệp JS động
- 22. Tạo tệp văn bản và tải xuống
- 23. Tải lên hàng loạt nhiều tệp văn bản vào MediaWiki
- 24. Có cách nào để tải tệp JS cục bộ không?
- 25. Tăng tốc độ ghi vào các tệp
- 26. Tải các tệp css/js trong Laravel 4 với Composer?
- 27. Tệp .js có thể "bao gồm" một tệp .js khác
- 28. Viết trong một tệp văn bản mà không ghi đè trong nút fs js
- 29. Cách tải các tệp .js vào ngữ cảnh tê giác trong Java
- 30. Ghi vào tệp CSV và xuất tệp đó?
Hi Ryan, cảm ơn bạn đã làm việc này! Tuy nhiên, một tệp tôi sử dụng có các phương thức được thêm vào thư viện Math. Vì vậy, tệp Math.uuid.js có ba phương thức trong đó; Math.uuid() trả về chuỗi, và hai thứ khác ... TS phàn nàn với hàm "khai báo Math.uuid(): string;" (chắc chắn). Làm thế nào tôi có thể mang lại những phương pháp này? Cảm ơn! –
Tìm thấy nó! Tôi đã tuyên bố giao diện này ... Giao diện Math { uuid(): string; } và tất cả đều tốt. –
Có cách nào để tự động tạo tệp * .d.ts từ tệp .js không? Cảm ơn - dave –