Chuyển đến nội dung chính

Bài đăng

Hiển thị các bài đăng có nhãn Sinh mã

Sinh mã trong Dart: build_runner mà không bực mình

Bạn thêm json_serializable , chạy dart run build_runner build , và nhận được: Conflicting outputs were detected and the build will be terminated. Bạn chạy lại với --delete-conflicting-outputs , nó chạy được, và từ đó bạn gõ cờ này mãi mãi mà không biết nó đã xoá gì. Đó là mối quan hệ điển hình giữa lập trình viên và build_runner, và nó đáng được sửa, vì công cụ này dễ đoán hơn vẻ ngoài của nó. Mô hình: một asset vào, một asset ra build_runner không phải bộ chạy script. Nó là một hệ thống build trên asset — những file được định danh theo dạng package:name|path . Mỗi builder khai báo nó tiêu thụ phần mở rộng nào và sinh ra phần mở rộng nào, và build_runner dựng một đồ thị từ đó. json_serializable nói: với mỗi .dart , có thể sinh ra một .g.dart . freezed nói: với mỗi .dart , có thể sinh ra một .freezed.dart . Vì đầu ra được đánh khoá theo đường dẫn, hai builder cùng nhận một đường dẫn đầu ra sẽ xung đột — và một builder cũng xung đột với chính đầu ra cũ của nó còn nằm trên đĩa từ...

Sinh mã trong Dart: build_runner mà không bực mình

Bạn thêm json_serializable , chạy dart run build_runner build , và nhận được: Conflicting outputs were detected and the build will be terminated. Bạn chạy lại với --delete-conflicting-outputs , nó chạy được, và từ đó bạn gõ cờ này mãi mãi mà không biết nó đã xoá gì. Đó là mối quan hệ điển hình giữa lập trình viên và build_runner, và nó đáng được sửa, vì công cụ này dễ đoán hơn vẻ ngoài của nó. Mô hình: một asset vào, một asset ra build_runner không phải bộ chạy script. Nó là một hệ thống build trên asset — những file được định danh theo dạng package:name|path . Mỗi builder khai báo nó tiêu thụ phần mở rộng nào và sinh ra phần mở rộng nào, và build_runner dựng một đồ thị từ đó. json_serializable nói: với mỗi .dart , có thể sinh ra một .g.dart . freezed nói: với mỗi .dart , có thể sinh ra một .freezed.dart . Vì đầu ra được đánh khoá theo đường dẫn, hai builder cùng nhận một đường dẫn đầu ra sẽ xung đột — và một builder cũng xung đột với chính đầu ra cũ của nó còn nằm trên đĩa từ...