Table of Contents
Hiểu được quan điểm của người bản địa
Phụ thuộc là thư viện hay mô- đun bên ngoài mà dự án của bạn phụ thuộc vào để thêm chức năng, phát triển dòng chảy, hoặc cải tiến hiệu suất. Trong phần mềm tự động, phụ thuộc thường được quản lý qua npm hoặc chỉ / graps – bộ quản lý gói JavaScript quản lý cài đặt thư viện, cập nhật, kiểm soát phiên bản, và đôi khi thậm chí còn kết nối mã bản địa. Khác với ứng dụng web, các dự án tự động phản hồi phụ thuộc vào JavaScript thường được gói phụ thuộc với phụ thuộc bản bản bản bản địa (i CocoaPod, tập tin cấu trúc và hạt gradle), làm cho khả năng quản lý sắc thái hơn.
Phụ thuộc nằm trong hai loại:
- Phụ thuộc – thư viện JS tinh khiết (v., , ) làm việc mà không có cấu hình bản địa nào.
- phụ thuộc định nghĩa – thư viện đòi hỏi phải nhập mật mã bản xứ (v. d., ), . Những thứ này thường cần thêm bước thiết lập như hoặc thay đổi hướng dẫn Gradle.
Tài liệu bản địa [FLT: 1] cung cấp chi tiết về khởi tạo dự án và cây phụ thuộc mặc định của nó.
Đang cài đặt các phụ thuộc
Để thêm một thư viện mới vào dự án bản địa phản ứng, hãy dùng lệnh cài đặt của bộ quản lý gói. Chẳng hạn, để cài đặt [FLT: 0] để tạo [navigation , chạy:
npm install @react-navigation/native @react-navigation/stack
hoặc có chỉ:
yarn add @react-navigation/native @react-navigation/stack
Sau khi cài đặt, một số thư viện cần thiết liên kết mã bản địa. Trong hậu quả là người bản địa 0.60+, tự động liên kết tự động với quan hệ phụ thuộc bản địa. Tuy nhiên, một số thư viện (đặc biệt là những thư viện có quan điểm tự chọn hoặc thứ ba bên SDKs) vẫn cần bước thủ công:
- Đối với iOS: chạy hoặc để cài đặt các kén CocoaPods.
- Đối với An- rô-bốt: thư viện [FLT: 9] được kết hợp tự động, nhưng bạn có thể cần thêm một kho nếu không phải là gói tự động người bản địa phản ứng của thư viện.
Luôn luôn kiểm tra hướng dẫn cài đặt thư viện — nhiều thư viện thông dụng sau khi cài đặt các bước để tránh tai nạn thời gian.
Dùng liên kết có tính chất phản ứng npx (Legacy)
Để dự án sử dụng khả năng tự động & lt; 0.60, bạn phải tự liên kết các quan hệ phụ thuộc bản địa với . Lệnh này chỉnh sửa Podfile và/hoặc . Nếu bạn đang duy trì một dự án di sản, hãy xem xét việc di sản để tự động liên kết .
Lưu các phụ thuộc
Mặc định, npm và chỉ lưu gói đã cài đặt vào phần [FLT: 0] của bạn [FLT: 0] Bộ gói [FLT: 1] tập tin hoặc . Tùy chọn này giữ theo dõi mọi quan hệ phụ thuộc và phiên bản của chúng, đảm bảo rằng các nhà phát triển hay môi trường triển khác có thể cài đặt cùng một tập hợp các gói với một lệnh ( hay [FL:18].].
Khi bạn cài đặt gói không đánh dấu rõ ràng nó là một phụ thuộc của dev, nó được lưu dưới . Đối với công cụ chỉ được dùng trong phát triển (v. d., , , , dùng:
npm install --save-dev package-name
yarn add --dev package-name
Duy trì sự tách rời rõ ràng giữa thời gian chạy và phụ thuộc dev giảm kích cỡ gói trong sản xuất và ngăn ngừa sự ngẫu nhiên tạo ra tiện ích thời gian trong kho lưu trữ ứng dụng.
Phiên bản quản lý phụ thuộc
Xác định phiên bản chính xác trong [FLT: 0] package.json giúp ngăn chặn những vấn đề bất ngờ gây ra bởi cập nhật. Bạn có thể sử dụng phiên bản ngữ nghĩa để kiểm soát việc cập nhật:
- – chấp nhận bất kỳ phiên bản nhỏ hoặc vá trên 1. 0.0 (v., 1.1.0, 1.5) nhưng không phải 2.0.0.0.
- – chỉ chấp nhận phiên bản vá trên 1. 0.0 (v., 1. 1, 1. 1, 1. 9) nhưng không phải 1.1.0.
- – bị mắc kẹt vào phiên bản chính xác 1.0.0 (không cập nhật).
Để tạo ứng dụng sản xuất, hãy gắn chặt phụ thuộc trực tiếp vào phiên bản chính xác (v. d., để tránh sự thay đổi tình cờ trong khi triển khai. Hãy dùng tập tin khoá ( hoặc để bảo đảm mỗi việc cài đặt tạo giống hệt nhau.
Giải quyết mâu thuẫn trong phiên bản
Khi hai thư viện yêu cầu phiên bản khác nhau của cùng một gói, bạn có thể gặp cảnh báo quan hệ phụ thuộc ngang hàng hoặc lỗi thời gian chạy. Công cụ để giải quyết xung đột:
- [FLT: 0] nnpm is [tên gói – hiển thị cây phụ thuộc và tô sáng bản sao.
- Chương trình tại sao tên gói ) – giải thích tại sao một gói đã được cài đặt.
- [FLT: 0] nnpm dedupe / ) yen-deduplicate – sur sur sur sur gói khi có thể.
Để đáp ứng người bản địa, hãy chú ý nhiều hơn đến những phiên bản , , hoặc các mô-đun bản xứ như .
Cập nhật các quan hệ phụ thuộc
Cập nhật đều đặn các phụ thuộc là thiết yếu cho an ninh, hiệu suất và truy cập các tính năng mới. Hãy dùng các cách tiếp cận sau:
- Cập nhật Minor/Patch:) hoặc — an toàn cho những thay đổi không đột phá.
- Cập nhật Major:) tự đẩy bản dịch và chạy . Xem lại bản ghi thay đổi của thư viện để phá vỡ hệ thống ATI.
- Nâng cấp chủ động:) dùng (đã cài đặt riêng) để xem gói nào có phiên bản mới nhất, rồi sau đó cập nhật có chọn lọc.
Khi bản thân bản thân bản thân bản thân bản thân bản địa (, luôn luôn theo chính thức hướng dẫn nâng cấp bản địa ) và dùng để hợp nhất các thay đổi trong tập tin mẫu của dự án. Hãy kiểm tra kỹ lưỡng trên cả iOS và ieros và thiết bị giả lập bản địa và thiết bị thật sau khi cập nhật chính.
Tự động cập nhật với & CI/CD
Trong một đường ống liên tục, thiết lập một công việc chạy hoặc , tạo một yêu cầu kéo cho cập nhật nhỏ, và kích hoạt các bộ thử nghiệm đầy đủ. Điều này giúp ngăn ngừa sự hư hỏng của phụ thuộc trong khi duy trì môi trường ổn định.
Loại bỏ các quan hệ phụ thuộc không được sử dụng
Khi thư viện không còn được dùng nữa, hãy gỡ bỏ nó để giảm kích cỡ gói và bảo trì đơn giản:
npm uninstall library-name
yarn remove library-name
Những gói không được dùng có thể tồn tại trong ngay cả sau khi gỡ bỏ nếu chúng được chuyển giao phụ thuộc. Chạy hoặc để xoá gói mở rộng. Để làm sạch chi tiết hơn, hãy xem xét:
- Kiểm tra — một công cụ để xác định quan hệ phụ thuộc không dùng trong cơ sở mã của bạn.
- [npx:] phản ứng- tên thư viện không liên kết (quyền hạn) – loại bỏ bất kỳ đồ tạo tác kết nối bản địa nào.
Những thực hành tốt nhất để quản lý quan hệ phụ thuộc
- , bình thường xem xét và cập nhật các quan hệ phụ thuộc. [FLT: 1] lên kế hoạch hàng tháng “Sự kiểm tra tư vấn phụ thuộc — kiểm tra xem có cố vấn bảo mật ], cập nhật cho các phiên bản ổn định mới nhất, và làm sạch các gói cũ.
- Giữ phụ thuộc tối thiểu. tránh “kitchen burnbes; chọn tập trung, tốt quản lý các phương pháp thay thế (v. g. cho các biểu tượng thay vì nhập khẩu toàn bộ hộp UI).
- [FLT: 0] Dùng phiên bản ngữ nghĩa để kiểm soát cập nhật. Hãy bật phiên bản chính và dựa vào tập tin khoá để tính khả năng đọc.
- Chạy hết sau khi cập nhật các quan hệ phụ thuộc. Chạy thử, thử nghiệm hợp nhất và kiểm tra bằng tay trên cả hai nền tảng. Hãy chú ý đến việc thay đổi ứng xử của mô- đun bản địa.
- [FLT: 0] Giữ một tập tin sạch và tập tin khoá. tránh những sửa đổi bằng tay có thể giới thiệu những điều mâu thuẫn nhau. Nhấn mạnh [FLT: 50] hoặc để kiểm soát phiên bản giống hệt nhau để đảm bảo cài đặt trong môi trường.
- Prefer sợi chỉ hơn npm nếu bạn cần cài đặt xác định và không gian làm việc. Yirn ern errry (v2+) cung cấp cho bổ sung'n'Play, mà có thể tăng tốc cài đặt nhưng có thể yêu cầu kiểm tra tương thích với bản địa phản.
- Dùng ) để chẩn đoán quan hệ phụ thuộc và vấn đề môi trường phổ biến trước khi gỡ lỗi.
Xử lý các phụ thuộc bản địa với CocoaPods và gle
Đối với iOS, luôn luôn cam kết để khóa phiên bản của kén bản địa. Chạy khi bạn nâng cấp một thư viện tự động để có được phiên bản kén thích hợp mới nhất. Đối với A-ga- rô-bốt, bảo đảm của bạn không có giá trị đối lập hay [FL:57] [FL:57] trong các thư viện.
Dùng đơn phương với người bản địa phản ứng
Nếu dự án của bạn sử dụng đơn vị (v. d., Nx, Turborepo, Lerna), quản lý quan hệ phụ thuộc ở cấp gốc với không gian làm việc. Hãy cẩn thận khi nâng lên – một số thư viện bản địa có thể đòi hỏi để tránh xung đột phụ thuộc quá tải.
Những cạm bẫy thông thường và cách tránh chúng
- “Không tìm thấy lỗi môđun trong mô- đun sau khi cài đặt: xoá , , và chạy cài đặt mới. Nếu dùng chỉ, thì hãy xoá cũng (nhưng cẩn thận với tập tin khoá).
- Thành phố không xây dựng sau khi thêm thư viện: [FLT: 1] Bảo đảm bạn chạy và xem tập tin kén của thư viện có tham chiếu đúng không. Hãy kiểm tra xem các bản ghi X mật mã để “không tìm thấy lỗi trong thư viện.
- Lỗi chạy thời gian do thiếu mô-đun bản địa: ) kiểm tra xem gói A-DN của thư viện được tự động đăng ký hoặc bạn đã thêm vào .
- Biểu tượng hoặc xung đột phương pháp: ) Hãy dùng và giải quyết các mã bản xứ mâu thuẫn bằng cách nâng cấp hoặc hạ cấp một trong các thư viện.
Tài nguyên bên ngoài
- Mở tài liệu chính thức của bản địa – Phụ thuộc
- Thay phiên cài đặt lệnh ) [unintelligible:1]
- Lệnh và sử dụng )
- Phát thanh viên – Bảo vệ cho CN )
Việc quản lý phụ thuộc hữu hiệu giúp giữ cho dự án tự do người bản địa phản ứng được an toàn, hiệu quả và bảo trì.