Tôi đang gặp một thời gian khó khăn để tìm ra cách chính xác tuyên bố nhập khẩu các công trình này (trong một ứng dụng kiễu góc bằng văn bản trong nguyên cảo):Đang cố gắng để hiểu được nhập khẩu RxJS
import 'rxjs/add/operator/toPromise';
Tôi nhận được rằng rxjs
được ánh xạ tới các tương ứng node_modules
thư mục con trong tệp cấu hình SystemJS, nhưng sau đó tôi bị kẹt. Tôi thấy rằng có một tệp index.js nhưng tôi không biết liệu cách này có giúp giải quyết phần add/operator/...
hay không.
Tương tự như vậy, tôi không hiểu điều này một:
import {Observable} from 'rxjs/Observable';
Một lần nữa, không có tập tin Observable.*
tập tin ở nơi này. Tôi đoán rằng nó bằng cách nào đó hoạt động thông qua tệp index.js nhưng tôi thực sự muốn hiểu rõ hơn vì tôi đọc rằng rất dễ dàng nhập tất cả RxJS do tai nạn làm tăng thời gian tải trang.
Tôi đã xem xét kỹ hơn tài liệu về độ phân giải mô-đun Phân loại nhưng tôi có cảm giác rằng điều này là không đủ để giải thích.
Cập nhật: Sau khi đọc câu trả lời được chấp nhận dưới đây tôi đã tìm ra tôi đã nhìn vào thư mục node_modules/rx
thay vì node_modules/rxjs
nên những điều khoản nhập khẩu phù hợp hoàn hảo với cấu trúc thư mục.
Ồ không, tôi đã xem nhầm thư mục ... "rx" chứ không phải "rxjs". Bây giờ nó là hoàn toàn rõ ràng, cảm ơn! – lex82
Martin, tại sao họ lại sử dụng tiền tố '/ add'? Nó không có ý nghĩa gì cả –
@Royi Điều gì không có ý nghĩa? Tất cả các tệp trong thư mục '/ add/...' được sử dụng để thêm toán tử vào 'Observable.prototype' (ví dụ: https://github.com/ReactiveX/rxjs/blob/master/src/add/operator/ buffer.ts). Điều này cho phép chỉ sử dụng những toán tử mà tôi thực sự cần trong dự án của mình và do đó các gói JS với cây lắc (rollup.js, webpack2 và có thể nhiều hơn nữa) có thể tạo ra các gói nhỏ hơn. – martin