Esta documentación ha sido traducida automáticamente por IA.
Gestión de Dependencias
En el desarrollo de plugins para NocoBase, las dependencias se dividen en dos categorías: dependencias del plugin y dependencias globales.
- Dependencias globales: Son proporcionadas por
@nocobase/servery@nocobase/client, por lo que lospluginsno necesitan empaquetarlas por separado. - Dependencias del
plugin: Son las dependencias exclusivas delplugin(incluidas las dependencias del lado del servidor) y se empaquetarán junto con los artefactos delplugin.
Principios de Desarrollo
Dado que las dependencias de un plugin se empaquetarán junto con sus artefactos (incluidas las dependencias del servidor, que se empaquetarán en dist/node_modules), le recomendamos que declare todas las dependencias en devDependencies en lugar de dependencies durante el desarrollo del plugin. Esto ayuda a evitar diferencias entre los entornos de desarrollo y producción.
Cuando un plugin necesite instalar las siguientes dependencias, asegúrese de que el número de versión coincida con las dependencias globales de @nocobase/server y @nocobase/client. De lo contrario, podrían producirse conflictos en tiempo de ejecución.
Dependencias Globales
Las siguientes dependencias son proporcionadas por NocoBase y no necesitan ser empaquetadas en los plugins. Si fuera necesario utilizarlas, sus versiones deben coincidir con la versión del framework.
Recomendaciones de Desarrollo
-
Mantenga la consistencia de las dependencias
Si necesita utilizar paquetes que ya existen en las dependencias globales, evite instalar versiones diferentes y utilice directamente las dependencias globales. -
Minimice el tamaño del paquete
Para las librerías de UI comunes (comoantd), librerías de utilidades (comolodash) y controladores de bases de datos (comopg,mysql2), le recomendamos que dependa de las versiones proporcionadas globalmente para evitar el empaquetado duplicado. -
Consistencia entre entornos de depuración y producción
El uso dedevDependenciesgarantiza la consistencia entre el desarrollo y los artefactos finales, evitando diferencias en el entorno causadas por una configuración incorrecta dedependenciesypeerDependencies.

