Werk volledig-stapel AEM project bij om front-end pijpleiding te gebruiken update-project-enable-frontend-pipeline
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 objectives
- Werk volledig-stapelproject bij om de front-end pijpleiding te gebruiken
Overzicht van configuratieveranderingen in het full-stack AEM project
Vereisten prerequisites
Dit is een meerdelig leerprogramma en men veronderstelt dat u "ui.frontend"Modulehebt herzien.
Veranderingen in het full-stack AEM project
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>
.
code language-xml ... <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
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> --> ...
- 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:
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' } ] }) ...
- Kopieer de bestaande
webpack.prod.js
alswebpack.theme.prod.js
en wijzig als volgt de locatie van de variabelecommon
naar het bovenstaande bestand
code language-javascript ... const common = require('./webpack.theme.common.js'); ...
note note 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.
code language-javascript { "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.
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 Zie volledige HtmlPageItemsConfigin het AEM WKND project van Plaatsen. - 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.
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 Zie, volledige SiteConfigin het AEM WKND project van Plaatsen. - 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.code language-css $black: #a40606; ...
Zet deze wijzigingen tot slot door in de git-opslagplaats voor Adoben 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! congratulations
Gefeliciteerd, hebt u het project van Plaatsen WKND bijgewerkt om het voor het front-end pijpleidingscontract toe te laten.
Volgende stappen next-steps
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.