Werk volledig-stapel AEM project bij om front-end pijpleiding te gebruiken
- Van toepassing op:
- Experience Manager as a Cloud Service
- Onderwerpen:
- AEM Project Archetype
- Cloud Manager
- CI-CD-pijplijn
Gemaakt voor:
- tussenpersoon
- Ontwikkelaar
- Beheerder
In dit hoofdstuk, maken wij config veranderingen in het project van Plaatsen WKND om de front-end pijpleiding te gebruiken om JavaScript en CSS op te stellen, eerder dan het vereisen van een volledige uitvoering van de stapelpijpleiding. Dit ontkoppelt de ontwikkeling en plaatsingslevenscyclus van front-end en back-end artefacten, die voor een sneller, iteratief ontwikkelingsproces over het algemeen toestaan.
Doelstellingen
- Werk volledig-stapelproject bij om de front-end pijpleiding te gebruiken
Overzicht van configuratieveranderingen in het full-stack AEM-project
Vereisten
Dit is een meerdelig leerprogramma en men veronderstelt dat u "ui.frontend"Modulehebt herzien.
Wijzigingen in het AEM-project met volledige stapel
Er zijn drie project-verwante config veranderingen en een stijlverandering om voor een testlooppas op te stellen, zo in totaal vier specifieke veranderingen in het project WKND om het voor het front-end pijpleidingscontract toe te laten.
-
De module
ui.frontend
verwijderen uit de volledige constructiecyclus voor stapels- In de hoofdmap van het WKND-siteproject
pom.xml
vindt u een opmerking over de submodulevermelding van<module>ui.frontend</module>
.
... <modules> <module>all</module> <module>core</module> <!-- <module>ui.frontend</module> --> <module>ui.apps</module> ...
- En aan opmerkingen gerelateerde afhankelijkheid van de
ui.apps/pom.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> --> ...
- In de hoofdmap van het WKND-siteproject
-
Bereid de
ui.frontend
module voor het front-end pijpleidingscontract door twee nieuwe webpack configuratiedossiers toe te voegen.- Kopieer de bestaande eigenschappen
webpack.common.js
aswebpack.theme.common.js
en changeoutput
enMiniCssExtractPlugin
,CopyWebpackPlugin
plugin config params zoals hieronder:
... 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: './theme' } ] }) ...
- Kopieer de bestaande
webpack.prod.js
alswebpack.theme.prod.js
en wijzig als volgt de locatie van de variabelecommon
naar het bovenstaande bestand
... const common = require('./webpack.theme.common.js'); ...
NOTE
De bovenstaande twee configuratiewijzigingen in 'webpack' moeten verschillende uitvoerbestanden en mapnamen hebben, zodat we eenvoudig onderscheid kunnen maken tussen clientlib (Full-stack) en thema's die worden gegenereerd (front-end), frontale artefacten van de pijplijn.Zoals u hebt geraden, kunnen de bovenstaande wijzigingen worden overgeslagen om ook bestaande webpack-configuraties te gebruiken, maar de onderstaande wijzigingen zijn vereist.Het is aan jou hoe je ze wilt benoemen of organiseren.- Zorg ervoor dat in het bestand
package.json
de waarde van de eigenschapname
gelijk is aan de naam van de site uit het knooppunt/conf
. En onder de eigenschapscripts
voert u eenbuild
-script uit dat aangeeft hoe de front-end bestanden van deze module moeten worden gemaakt.
{ "name": "wknd", "version": "1.0.0", ... "scripts": { "build": "webpack --config ./webpack.theme.prod.js" } ... }
- Kopieer de bestaande eigenschappen
-
Bereid de
ui.content
module voor de front-end pijpleiding door twee het Verdraaien vormen toe te voegen.- Maak een bestand in
com.adobe.cq.wcm.core.components.config.HtmlPageItemsConfig
- dit omvat alle front-end bestanden die de moduleui.frontend
onder de mapdist
genereert met behulp van het webpack-constructieproces.
... <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"/> ...
TIP
Zie volledige HtmlPageItemsConfigin het project van de Plaatsen van AEM WKND.- Vervolgens wordt de waarde van
com.adobe.aem.wcm.site.manager.config.SiteConfig
met de waarde vanthemePackageName
gelijk aan de waarde van de eigenschappackage.json
enname
ensiteTemplatePath
gewijzigd, waarbij wordt verwezen naar de waarde van een/libs/wcm/core/site-templates/aem-site-template-stub-2.0.0
stub-pad.
... <?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> ...
TIP
Zie, volledige SiteConfigin het project van de Plaatsen van AEM WKND. - Maak een bestand in
-
Als een thema of stijlen worden gewijzigd en via een front-end pijplijn voor een testrun worden geïmplementeerd, veranderen we
text-color
in Adobe rood (of u kunt uw eigen stijl kiezen) door deui.frontend/src/main/webpack/base/sass/_variables.scss
bij te werken.$black: #a40606; ...
Breng deze wijzigingen tot slot door naar de Adobe Git-opslagplaats van uw programma.
De voorzichtigheid - laat Voorste Pijl van het Eind knoop toe
De Selector van het Spoorspoor"s optie van de Plaatstoont toelaten Voorste Pijpleiding van het Eind op het selecteren van uw plaatswortel of plaatspagina. Het klikken laat de Voorste knoop van het Eind toe hierboven het Schuiven vormt, zorg ervoor u deze knoop na het opstellen boven veranderingen via de pijpleidingsuitvoering van Cloud Manager niet klikt.
Als er per ongeluk op wordt geklikt, moet u de pijpleidingen opnieuw uitvoeren om ervoor te zorgen dat het frontend pijpleidingscontract en de veranderingen worden hersteld.
Gefeliciteerd!
Gefeliciteerd, hebt u het project van Plaatsen WKND bijgewerkt om het voor het front-end pijpleidingscontract toe te laten.
Volgende stappen
In het volgende hoofdstuk, opstelt gebruikend de Voorste-Eind Pijpleiding, zult u een front-end pijpleiding creëren en in werking stellen en zult verifiëren hoe wij weg van de "/etc.clientlibs"gebaseerde front-end middelenlevering bewogen.