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"Module hebt 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.frontendverwijderen uit de volledige constructiecyclus voor stapels- In de hoofdmap van het WKND-siteproject
pom.xmlvindt 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.frontendmodule voor het front-end pijpleidingscontract door twee nieuwe webpack configuratiedossiers toe te voegen.- Kopieer de bestaande eigenschappen
webpack.common.jsaswebpack.theme.common.jsen changeoutputenMiniCssExtractPlugin,CopyWebpackPluginplugin 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: './theme' } ] }) ...- Kopieer de bestaande
webpack.prod.jsalswebpack.theme.prod.jsen wijzig als volgt de locatie van de variabelecommonnaar 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.jsonde waarde van de eigenschapnamegelijk is aan de naam van de site uit het knooppunt/conf. En onder de eigenschapscriptsvoert 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.contentmodule 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.frontendonder de mapdistgenereert 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 HtmlPageItemsConfig in het project van de Plaatsen van AEM WKND. - Vervolgens wordt de waarde van
com.adobe.aem.wcm.site.manager.config.SiteConfigmet de waarde vanthemePackageNamegelijk aan de waarde van de eigenschappackage.jsonennameensiteTemplatePathgewijzigd, waarbij wordt verwezen naar de waarde van een/libs/wcm/core/site-templates/aem-site-template-stub-2.0.0stub-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 SiteConfig in 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-colorin Adobe rood (of u kunt uw eigen stijl kiezen) door deui.frontend/src/main/webpack/base/sass/_variables.scssbij te werken.code language-css $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 Plaats toont 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.