Có vẻ như TypeScript có một hệ thống mô-đun đẹp, tuy nhiên điều này có thay thế nhu cầu về thứ gì đó như requirejs không? Nói cách khác, khi bạn "biên dịch" một gói bản thảo, nó có xử lý tất cả độ phân giải phụ thuộc cho bạn không? Ví dụ sẽ được đánh giá cao!Quản lý gói TypeScript
Trả lời
TypeScript không có trình tải mô-đun thời gian chạy. Bạn sẽ vẫn cần cung cấp trình tải mô-đun để sử dụng trong thời gian chạy, ví dụ: yêu cầu js. TypeScript hỗ trợ tạo mã JavaScript tương thích với commonJS (cho tập lệnh node.js) và bộ nạp AMD (ví dụ: requireJS). Để chỉ định cái nào để sử dụng truyền vào công cụ "--module" tới trình biên dịch bằng "amd" hoặc "commonjs".
Đây là cách bạn xuất khẩu một mô-đun trong nguyên cảo:
export module depModule {
export class A {
}
}
và đây là mã JavaScript được tạo ra với --module switch amd:
define(["require", "exports"], function(require, exports) {
(function (depModule) {
var A = (function() {
function A() { }
return A;
})();
depModule.A = A;
})(exports.depModule || (exports.depModule = {}));
})
nguyên cảo có thể phát ra mã mà sẽ làm việc với cả hai bộ tải phụ thuộc tương thích với AMD như môi trường requirejs hoặc commonjs như Node. Bạn có thể điều khiển điều này bằng tùy chọn --module cho trình biên dịch. Bản thân trình biên dịch không xử lý độ phân giải phụ thuộc vào thời gian chạy, điều đó tùy thuộc vào bạn để làm việc, nhưng nó cố gắng giải quyết các phụ thuộc tại thời gian biên dịch để nó có thể cung cấp cho bạn thông tin kiểu.
Bạn có thể xem ví dụ về các dự án sử dụng các mô-đun trong thư mục kiểm tra tại CodePlex, this one chẳng hạn. Đầu ra của việc biên dịch các dự án thử nghiệm này là các tệp .js có thể tải được hoặc bằng, ví dụ requirejs (nếu bạn truyền --module amd) hoặc Node (nếu bạn vượt qua - commonjs --module).
Nếu ứng dụng của bạn sẽ chỉ được tạo bởi mô-đun/tập tin loại, bạn không thể sử dụng trình tải mô-đun hoặc quản lý phụ thuộc khác. Bạn sẽ cần phải bao gồm tất cả các phụ thuộc với các tham chiếu bình luận và sử dụng tùy chọn --out của trình biên dịch. Ví dụ:
tsc --out compiled.js app.ts
Điều này sẽ đưa vào biên dịch.js các js được tạo cho app.ts và tất cả các phụ thuộc của nó, bao gồm cả phụ thuộc của phụ thuộc. Tệp kết quả sau đó có thể được bao gồm trực tiếp trong tệp html với thẻ tập lệnh. Nó cũng có thể được giảm thiểu. Tải mô-đun trên thời gian chạy không được hỗ trợ
- 1. Nhiều trình quản lý gói
- 2. Trình quản lý gói PHP
- 3. quản lý gói nuget không đồng bộ
- 4. Hệ thống quản lý gói của Lua?
- 5. Gói được quản lý với giao diện không được quản lý
- 6. Quản lý dữ liệu được đóng gói bit bằng C#
- 7. Lỗi Trình quản lý gói NuGet khi cố cập nhật
- 8. Quản lý tài sản bên ngoài trong Gói R
- 9. IntelliJ IDEA 12 Trình quản lý gói Python?
- 10. Quản lý Gói NuGet không hiển thị trên menu
- 11. Trình quản lý gói cho nội dung web
- 12. Bàn điều khiển Gói quản lý không hoạt động
- 13. Có gói quản lý nào trong Objective-C không?
- 14. Quản lý gói NuGet hoàn nguyên phiên bản cũ
- 15. có trình quản lý gói cho Xcode không? (như NuGet)
- 16. Các gói Wi-Fi Bootstrapper được quản lý
- 17. Trình quản lý gói có nghĩa là gì?
- 18. Vùng được quản lý và không được quản lý
- 19. Quản lý các plugin Vim
- 20. Quản lý phiên Wordpress
- 21. Quản lý Queue TPL
- 22. Quản lý phiên Android
- 23. Yii quản lý phiên
- 24. Quản lý móc Git
- 25. Trình quản lý HSQLDB?
- 26. TypeScript Obfuscation
- 27. JQuery + Nuget Quản lý gói vị trí cài đặt mặc định
- 28. Có trình quản lý gói cho Java như easy_install cho Python không?
- 29. Sự khác biệt giữa các nhà quản lý hình học "lưới" và "gói"
- 30. Trình quản lý SDK Android, chỉ hiển thị gói đã cài đặt