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.

  1. 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>
        -->
        ...
    
  2. 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 as webpack.theme.common.js en change output en MiniCssExtractPlugin , 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 als webpack.theme.prod.js en wijzig als volgt de locatie van de variabele common 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 eigenschap name gelijk is aan de naam van de site uit het knooppunt /conf . En onder de eigenschap scripts voert u een build -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"
        }
    
        ...
        }
    
  3. 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 module ui.frontend onder de map dist 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 van themePackageName gelijk aan de waarde van de eigenschap package.json en name en siteTemplatePath 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.
  4. 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 de ui.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.

AVAILABILITY
Deze veranderingen zijn beschikbaar op GitHub binnen de front-end pijpleidingtak van het AEM WKND project van Plaatsen.

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.

laat Voorste knoop van de Pijl van het Eind toe

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.

recommendation-more-help
b2a561c1-47c0-4182-b8c1-757a197484f9