AEM Actualizar proyecto de de pila completa para utilizar canalización front-end update-project-enable-frontend-pipeline
En este capítulo, realizamos cambios de configuración en el proyecto de WKND Sites para utilizar la canalización front-end para implementar JavaScript y CSS, en lugar de requerir una ejecución de canalización de pila completa. Esto desvincula el ciclo vital de desarrollo e implementación de los artefactos front-end y back-end, lo que permite un proceso de desarrollo más rápido e iterativo en general.
Objetivos objectives
- Actualizar el proyecto de pila completa para utilizar la canalización front-end
AEM Información general sobre los cambios de configuración en el proyecto de código de pila completa de la
Requisitos previos prerequisites
Este es un tutorial de varias partes y se supone que ha revisado el módulo 'ui.frontend'.
AEM Cambios en el proyecto de código de pila completa de la
Hay tres cambios de configuración relacionados con el proyecto y un cambio de estilo que se deben implementar para una ejecución de prueba, por lo que en total hay cuatro cambios específicos en el proyecto WKND para habilitarlo para el contrato de canalización front-end.
-
Quitar el módulo
ui.frontend
del ciclo de compilación de pila completa- En, la raíz
pom.xml
del proyecto de WKND Sites comenta la entrada del submódulo<module>ui.frontend</module>
.
code language-xml ... <modules> <module>all</module> <module>core</module> <!-- <module>ui.frontend</module> --> <module>ui.apps</module> ...
- Y dependencia relacionada con los comentarios de
ui.apps/pom.xml
code language-xml ... <!-- ====================================================================== --> <!-- D E P E N D E N C I E S --> <!-- ====================================================================== --> ... <!-- <dependency> <groupId>com.adobe.aem.guides</groupId> <artifactId>aem-guides-wknd.ui.frontend</artifactId> <version>${project.version}</version> <type>zip</type> </dependency> --> ...
- En, la raíz
-
Prepare el módulo
ui.frontend
para el contrato de canalización front-end agregando dos nuevos archivos de configuración de Webpack.- Copie el(la)
webpack.common.js
existente(a) comowebpack.theme.common.js
, y cambie la propiedadoutput
y los parámetros de configuración del complementoMiniCssExtractPlugin
,CopyWebpackPlugin
de la siguiente manera:
code language-javascript ... output: { filename: 'theme/js/[name].js', path: path.resolve(__dirname, 'dist') } ... ... new MiniCssExtractPlugin({ filename: 'theme/[name].css' }), new CopyWebpackPlugin({ patterns: [ { from: path.resolve(__dirname, SOURCE_ROOT + '/resources'), to: './clientlib-site' } ] }) ...
- Copie la
webpack.prod.js
existente comowebpack.theme.prod.js
y cambie la ubicación de la variablecommon
al archivo anterior como
code language-javascript ... const common = require('./webpack.theme.common.js'); ...
note note NOTE Los dos cambios de configuración anteriores del "webpack" deben tener nombres de archivo y carpeta de salida diferentes, para que podamos diferenciar fácilmente entre los artefactos clientlib (full-stack) y los generados por el tema (front-end) del front-end de la canalización. Como ha adivinado, los cambios anteriores se pueden omitir para utilizar también las configuraciones de Webpack existentes, pero los cambios siguientes son obligatorios. Depende de usted cómo desee ponerles nombre u organizarlos. - En el archivo
package.json
, asegúrese de que el valor de la propiedadname
sea el mismo que el nombre de sitio del nodo/conf
. Y en la propiedadscripts
, un scriptbuild
que indica cómo generar los archivos front-end a partir de este módulo.
code language-javascript { "name": "wknd", "version": "1.0.0", ... "scripts": { "build": "webpack --config ./webpack.theme.prod.js" } ... }
- Copie el(la)
-
Prepare el módulo
ui.content
para la canalización front-end agregando dos configuraciones de Sling.- Crear un archivo en
com.adobe.cq.wcm.core.components.config.HtmlPageItemsConfig
: esto incluye todos los archivos front-end que el móduloui.frontend
genera en la carpetadist
mediante el proceso de generación de Webpack.
code language-xml ... <css jcr:primaryType="nt:unstructured" element="link" location="header"> <attributes jcr:primaryType="nt:unstructured"> <as jcr:primaryType="nt:unstructured" name="as" value="style"/> <href jcr:primaryType="nt:unstructured" name="href" value="/theme/site.css"/> ...
note tip TIP AEM Ver HtmlPageItemsConfig completo en el proyecto de sitios WKND de la. - Segundo,
com.adobe.aem.wcm.site.manager.config.SiteConfig
con el valorthemePackageName
que es el mismo que el valor de propiedadpackage.json
yname
, ysiteTemplatePath
que señala a un valor de ruta de acceso auxiliar/libs/wcm/core/site-templates/aem-site-template-stub-2.0.0
.
code language-xml ... <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" jcr:primaryType="nt:unstructured" siteTemplatePath="/libs/wcm/core/site-templates/aem-site-template-stub-2.0.0" themePackageName="wknd"> </jcr:root> ...
note tip TIP AEM Vea, el SiteConfig completo en el Proyecto de sitios WKND de. - Crear un archivo en
-
Se ha cambiado un tema o estilos para implementarlos a través de la canalización front-end para una ejecución de prueba. Estamos cambiando
text-color
a rojo Adobe (o puede elegir el suyo propio) al actualizarui.frontend/src/main/webpack/base/sass/_variables.scss
.code language-css $black: #a40606; ...
Finalmente, inserte estos cambios en el repositorio de Git de Adobe del programa.
Precaución: Botón Habilitar canalización front-end
La opción Sitio del selector de carril 1} muestra el botón Habilitar canalización front-end al seleccionar la raíz del sitio o la página del sitio.Al hacer clic en el botón Habilitar canalización front-end, se anularán las configuraciones de Sling anteriores. Asegúrese de no hacer clic en este botón después de implementar los cambios anteriores a través de la ejecución de la canalización de Cloud Manager.
Si se hace clic en él por error, debe volver a ejecutar las canalizaciones para asegurarse de que se restauran el contrato y los cambios de la canalización front-end.
Enhorabuena. congratulations
¡Enhorabuena! Ha actualizado el proyecto de WKND Sites para habilitarlo para el contrato de canalización front-end.
Pasos siguientes next-steps
En el siguiente capítulo, Implementar mediante la canalización front-end, creará y ejecutará una canalización front-end y verificará cómo nos hemos alejado de la entrega de recursos front-end basada en '/etc.clientlibs'.