Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
Bij de ontwikkeling van NocoBase plugins worden afhankelijkheden onderverdeeld in twee categorieën: pluginafhankelijkheden en globale afhankelijkheden.
@nocobase/server en @nocobase/client. Plugins hoeven deze niet afzonderlijk te bundelen.Aangezien pluginafhankelijkheden worden gebundeld in de plugin-artefacten (inclusief serverafhankelijkheden die worden gebundeld in dist/node_modules), kunt u tijdens de pluginontwikkeling alle afhankelijkheden declareren in devDependencies in plaats van dependencies. Dit voorkomt verschillen tussen de ontwikkel- en productieomgeving.
Wanneer een plugin de volgende afhankelijkheden moet installeren, zorg er dan voor dat het versienummer overeenkomt met de globale afhankelijkheden in @nocobase/server en @nocobase/client. Anders kunnen er runtimeconflicten ontstaan.
De volgende afhankelijkheden worden geleverd door NocoBase en hoeven niet te worden gebundeld in plugins. Indien u ze toch nodig heeft, moeten ze overeenkomen met de frameworkversie.
Behoud van afhankelijkheidsconsistentie
Als u pakketten wilt gebruiken die al in de globale afhankelijkheden aanwezig zijn, vermijd dan het installeren van verschillende versies en gebruik direct de globale afhankelijkheden.
Minimaliseer de bundelgrootte
Voor veelvoorkomende UI-bibliotheken (zoals antd), utility-bibliotheken (zoals lodash) en database drivers (zoals pg, mysql2), moet u vertrouwen op de globaal geleverde versies om dubbele bundling te voorkomen.
Consistentie tussen debug- en productieomgevingen
Het gebruik van devDependencies zorgt ervoor dat de ontwikkeling en de uiteindelijke artefacten consistent zijn, en voorkomt omgevingsverschillen die worden veroorzaakt door onjuiste configuratie van dependencies en peerDependencies.