Personalización del proceso de compilación

Puede personalizar el proceso de compilación para cambiar el nombre de una aplicación, añadir un nombre de aplicación nuevo o crear un paquete de aplicaciones sin un baseName de ruta de React.

Cambio el nombre de una aplicación para una compilación

Para cambiar el nombre de una aplicación para que esta se agrupe con un nombre diferente cuando se compile, debe completar las actualizaciones siguientes mediante el nuevo nombre de aplicación.

Important: El nombre de la aplicación debe ser un identificador de tienda válido de la tienda en HCL Commerce.
  1. En el archivo tools/scripts/buildConstant.js, sustituya las constantes ALL_APP y DEFAULT_APP con el nuevo nombre de aplicación.
  2. En el archivo .env, sustituya REACT_APP_STORENAME por el nuevo nombre de aplicación. Esta variable solo se utiliza si la variable REACT_APP_STORENAME no está definida en los archivos .env.development o .env.production.

    Para obtener más información, consulte Adición de variables de entorno de desarrollo en .env para la aplicación Create React.

  3. En la carpeta assets, cambie el nombre o copie la carpeta emerald o sapphire al nombre de la nueva aplicación. Sustituya los elementos estáticos de la carpeta, por ejemplo, imágenes por nuevos elementos específicos de la aplicación.
    Note: Para evitar posibles conflictos o problemas con diferentes sistemas operativos, utilice un nombre de carpeta en minúsculas.
  4. Sustituya el tema CSS de la carpeta src/themes.
    1. Cambie el nombre o cree los archivos appa-theme.js y appb-theme.js.
    2. Busque y edite el archivo index.js para añadir los mandatos siguientes:
      import 
      { 
      emeraldTheme as Emerald,
      sapphireTheme as Sapphire, 
      }
      from "@hcl-commerce-store-sdk/react-component";
      + import AppA from "./appa-theme";    
      + import AppB from "./appb-theme";
      + const themes = { AppA, AppB };
      const CurrentTheme = themes[process.env.REACT_APP_STORENAME];
      export { CurrentTheme };
  5. ejecute npm run build o npm start.

Adición de un nombre de aplicación nuevo

Para añadir un nuevo nombre de aplicación a la compilación, realice los pasos siguientes:
  1. En el archivo tools/scripts/buildConstant.js, añada el nombre de la nueva aplicación a las constantes ALL_APP y DEFAULT_APP.
  2. En la carpeta assets, añada una nueva subcarpeta con el nuevo nombre de aplicación.
    Note: Para evitar posibles conflictos o problemas con diferentes sistemas operativos, utilice un nombre de carpeta en minúsculas.
  3. En la carpeta src/themes, cree los archivos de tema de CSS appa-theme.js y appb-theme.js.
  4. Busque y edite el archivo index.js para añadir los mandatos siguientes:
    import 
    { 
    emeraldTheme as Emerald,
    sapphireTheme as Sapphire,
    }
    from "@hcl-commerce-store-sdk/react-component";
    - const themes = { Emerald, Sapphire };
    + import AppA from "./appa-theme";
    + import AppB from "./appb-theme";
    + const themes = { AppA, AppB, Emerald, Sapphire };
    const CurrentTheme = themes[process.env.REACT_APP_STORENAME];
    export { CurrentTheme };
  5. ejecute npm run build o npm start.

Habilitación de una clave de API de Google

Para poder utilizar Google Maps en una tienda basada en React, el proceso de compilación de la tienda requerirá el acceso a una clave de API de Google. Este acceso habilitará los servicios siguientes para una tienda basada en React.
  • API de Directions
  • API de Disctance Matrix
  • API de Maps JavaScript
  • API de Places
Para añadir una clave de API de Google a la tienda:
  1. Siga los pasos de los siguientes enlaces:
    1. Habilitar e inhabilitar las API
    2. Configuración de claves de API
  2. Utilice la variable de entorno REACT_APP_GOOGLE_MAP_API_KEY=su clave de API de Google para añadir la clave al archivo de la tienda .env .
  3. Cree y despliegue la tienda.

Cree un paquete de aplicaciones sin el baseName de ruta de React

basename desempeña un papel similar al de la raíz del contexto en el contexto de React Router.

En los casos en los que el basename no aplica, podemos suprimir el basename de la aplicación.

Para eliminar el baseName, en la carpeta assets/template, elimine las entradas de REACT_APP_ROUTER_BASENAME en los archivos de plantilla .env.

Por ejemplo,
PORT={{port}}
HTTPS={{https}}

REACT_APP_STORENAME={{appName}}
- REACT_APP_ROUTER_BASENAME={{appName}}
+ REACT_APP_ROUTER_BASENAME=

basename es un concepto de React Router. Para los detalles relacionados con basename, consulte http://reactrouter.com/web/api/BrowserRouter.

Aplicación que sirve desde la raíz del documento de un servidor web

En caso de que el paquete deba desplegarse en la raíz del documento de un servidor web, es necesario eliminar de los archivos .env la variable env de Create React App. Para más información al respecto, consulte Uso de la carpeta pública.
REACT_APP_STORENAME={{appName}}
REACT_APP_ROUTER_BASENAME={{appName}}
- PUBLIC_URL=/{{appName}}

Reescritura del servidor web para la aplicación de una sola página

Consulte Creación de aplicaciones React App Serving con enrutamiento del lado del cliente para conocer las diferentes opciones de despliegue y la configuración del servidor web.