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

  1. 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.
  2. 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
  3. 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.
  4. 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.
    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
    El esquema admite las siguientes opciones.
    --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
  5. 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
        }
  6. 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"
        }
    ]
  7. 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/
  8. Para ver los cambios en el servidor local, ejecuta yarn start-app.
  9. Prepárese para desplegar las rutas personalizadas.
    1. 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"
          }
      ]
    2. 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
          }
        }
      }
      
  10. 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

Continúe desplegando las rutas personalizadas.

Para obtener más información, consulte Creación de las personalizaciones.