Añadir nuevas rutas a las aplicaciones existentes
Puede personalizar las aplicaciones añadiendo nuevas rutas a las aplicaciones. Se utiliza el comando schematics para crear los paquetes de cada ruta y actualizar los archivos dentro de la aplicación.
Procedimiento
- Abra un terminal y vaya al directorio de código Pedidos.
- Para los clientes de contenedores locales, la ubicación predeterminada es devtoolkit_docker/orderhub-code.
- Para los clientes tradicionales locales, este directorio es el directorio donde se extrajo el archivo on-prem-source.tar.
- Ve al módulo que quieras personalizar. Por ejemplo, si desea actualizar el módulo de pedidos, vaya a la carpeta buc-app-order. Por ejemplo:
cd devtoolkit_docker/orderhub-code/buc-app-order - Abre el app-config.json que está en el módulo que quieres personalizar y añade las nuevas rutas que quieres incluir en la aplicación.
- Ejecuta el siguiente comando de esquemas. Este comando crea los paquetes para cada nueva ruta y actualiza los archivos necesarios dentro de la aplicación.
El esquema admite las siguientes opciones.ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name short-name-for-the-module --prefix selector-prefix --mode on-prem- --app--config-json
- Esta opción es obligatoria. Utilice el archivo app-config.json existente en el módulo que desea personalizar.
- --module-short-name
- Nombre abreviado del módulo. Si el nombre del módulo tiene guiones, el nombre abreviado es el texto después del último guión. Por ejemplo, si el nombre del módulo es buc-app-settings, el nombre corto del módulo es settings.
- --prefix
- El selector HTML a utilizar para los componentes generados. Por defecto es buc.
- --mode
- Establézcalo en local para generar código aplicable a las implantaciones locales de Sterling™ Order Management System.
- --is-custom-app
- Indica si el repositorio actual es una aplicación personalizada. Utilice true para indicar que el repositorio actual es una aplicación personalizada, o utilice false para una aplicación Order Hub existente. El valor predeterminado es false.
Por ejemplo:ng g @buc/schematics:add-app-to-existing-monorepo --app-config-json app-config.json --module-short-name order --prefix buc --mode on-prem - Prueba las rutas personalizadas localmente abriendo el archivo overrides.json en el módulo y modificando el objeto de la nueva ruta para que sea
"use Prod":false.Por ejemplo:"custom-route": { "useProd": false } - Si la ruta se añade como un nuevo menú, crea el archivo features.json. Para obtener más información, consulte Creación de los archivos features.json. Un ejemplo de archivo features.json.
[ { "id": "custom-order", "title": "Custom Order", "icon": "shopping--cart-16", "parentFeatureId": "oms-order-search", "navigation" : { "route" : { "link": https://localhost:8300/buc-app-order/custom-route/order/home, "path": "/custom-route/order/home" } }, "enablementCondition": { "byResourceId": "BUCORD0005,BUCORD0006" }, "type": "IFRAME" } ] - Ejecuta los siguientes comandos para copiar el archivo en el contenedor base.
docker exec om-orderhub-base bash -c 'mkdir -p /opt/app-root/src/shell-ui/assets/custom'docker cp <orderhub-code>/shell-ui/assets/dev/. om-orderhub-base:/opt/app-root/src/shell-ui/assets/custom/ - Para ver los cambios en el servidor local, ejecuta yarn start-app.
- Prepárese para desplegar las rutas personalizadas.
- Copia la versión de desarrollo del archivo features.json del archivo <order_hub_code_directory>/shell-ui/assets/dev/features.json al archivo <order_hub_code_directory>/shell-ui/assets/features.json. Cambia la propiedad navigaion>route>link por /buc-app-<module short
name>/<path to the page>. El archivo de ejemplo features.json.
[ { "id": "custom-order", "title": "Custom Order", "icon": "shopping--cart-16", "parentFeatureId": "oms-order-search", "navigation" : { "route" : { "link": "/buc-app-order/custom-route/order/home", "path": "/custom-route/order/home" } }, "enablementCondition": { "byResourceId": "BUCORD0005,BUCORD0006" }, "type": "IFRAME" } ] - Abre el archivo <order_hub_code_directory>/<module-name>/package-customization.json. En el objeto rutas, ad cada ruta del módulo que se personaliza. Por ejemplo,
{ "repositoryName": "buc-app-order", "customizationContextRoot": "/order-management-customization", "routes": { "custom-route": { "type": "code", "custom": true } } }
- Copia la versión de desarrollo del archivo features.json del archivo <order_hub_code_directory>/shell-ui/assets/dev/features.json al archivo <order_hub_code_directory>/shell-ui/assets/features.json. Cambia la propiedad navigaion>route>link por /buc-app-<module short
name>/<path to the page>. El archivo de ejemplo features.json.
- Abre el archivo ../<module-name>/packages/<route-name>/package.json para cada nueva ruta personalizada. Añade un script "build-merge" que tenga el mismo valor que el script "build".
Qué hacer a continuación
Para obtener más información, consulte Creación de las personalizaciones.