npm - Có lý do chính đáng nào để đặt tùy chọn trình biên dịch "declaration" thành true trong một dự án typescript không
Tôi có một dự án TypeScript và có khả năng tôi muốn xuất bản nó dưới dạng gói NPM trong tương lai.
Hiện tại thì tôi đã đặt "declaration": true trong tsconfig.json của mình. Tuy nhiên điều này gây ra một số vấn đề cho tôi (mà thực ra không quan trọng đối với câu hỏi này).
Nếu tôi đặt nó thành false mọi thứ sẽ hoạt động như tôi muốn.
Cờ declaration khi được đặt thành true, sẽ tạo các tệp d.ts. Tuy nhiên, theo hiểu biết của tôi theo bài viết Về "*.d.ts" trong TypeScript, điều này chỉ liên quan nếu bạn chưa lập trình bằng TypeScript (tức là dự án của bạn là JavaScript), để bạn có thể dễ dàng sử dụng thư viện JavaScript này trong dự án TypeScript sau này, vì bây giờ bạn đã có các kiểu dữ liệu.
Vậy tại sao ai đó lại nên đặt cài đặt này thành true khi dự án là TypeScript "thuần túy"? Tôi có thể an toàn để đặt nó thành false không?
Câu trả lời #1
Có lý do gì tốt để đặt tùy chọn trình biên dịch “declaration” thành true trong một dự án TypeScript không?
Vâng.
Đặc biệt nếu bạn định xuất bản dưới dạng gói NPM!
Sự biện minh
Khi bạn tạo gói NPM của mình, bạn nên bao gồm các tệp .js và .d.ts - và không bao gồm các tệp .ts. Điều này làm cho gói của bạn thực sự dễ di chuyển và đảm bảo nó có thể được sử dụng bởi cả các dự án TypeScript và các dự án JavaScript thông thường.
Đây là cơ chế đóng gói được khuyến nghị cho TypeScript trên NPM và thông tin thêm về việc xuất bản có thể được tìm thấy trong sổ tay.