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.
- En el archivo tools/scripts/buildConstant.js, sustituya las constantes ALL_APP y DEFAULT_APP con el nuevo nombre de aplicación.
- 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.
- 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.
- Sustituya el tema CSS de la carpeta src/themes.
- Cambie el nombre o cree los archivos appa-theme.js y appb-theme.js.
- 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 };
- ejecute
npm run build
onpm start
.
Adición de un nombre de aplicación nuevo
- En el archivo tools/scripts/buildConstant.js, añada el nombre de la nueva aplicación a las constantes ALL_APP y DEFAULT_APP.
- 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.
- En la carpeta src/themes, cree los archivos de tema de CSS appa-theme.js y appb-theme.js.
- 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 };
- ejecute
npm run build
onpm start
.
Habilitación de una clave de API de Google
- API de Directions
- API de Disctance Matrix
- API de Maps JavaScript
- API de Places
- Siga los pasos de los siguientes enlaces:
- 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 . - 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.
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
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.