Ir al contenido principal

How to organize your clientlibs JavaScript files by Integrating Adobe Experience Manager and System.Js


Some simple steps to organize your clientlibs javascript files using System.js

Repository with the final code

Pre-requisites

  • An Adobe Experience Manager (AEM) Instance
  • Java  
  • Maven
  • SystemJs

Creating the app

  • AEM project archetype
  • Creating your first Adobe Experience Manager 6.2 Project using Adobe Maven Archetype 10
  • Assuming you that have maven in the path, if not change "mvn" to for example "c:\program files\maven3.3.9\bin\mvn"
    
    mvn archetype:generate -DarchetypeGroupId=com.adobe.granite.archetypes -DarchetypeArtifactId=aem-project-archetype -DarchetypeVersion=10 -DarchetypeRepository=https://repo.adobe.com/nexus/content/groups/public/ -DgroupId=AEM62App -DartifactId=echo62 -Dversion=0.1.0-SNAPSHOT -Dpackage=com.aem.community -DappsFolderName=AEM62App -DartifactName=AEM62App -DcomponentGroupName=AEM62 -DcontentFolderName=AEM62App -DcssId=AEM62CSS -DpackageGroup=AEM62App  -DsiteName=AEM62App
    
  • Add the import-package element with javax.inject;version=0.0.0,* inside the instructions element in the pom.xml:48 file to fix the:
    org.apache.sling.api.scripting.ScriptEvaluationException: org.apache.sling.scripting.sightly.SightlyException: Cannot find a a file corresponding to class com.aem.community.core.models.HelloWorldModel in the repository.
    Processing Info:
    Page             = /content/AEM62App/en 
    Resource Path    = /content/AEM62App/en/jcr:content/par/servicecomponent 
    Cell             = helloworld 
    Cell Search Path = page/par|parsys/helloworld 
    Component Path   = /apps/AEM62App/components/content/helloworld
  • Add dependencies="[jquery]" at the end of the .content.xml clientlib file
  • Add System.js, my-module.js and reusable-module.js alongside the .content.xml.  I suggest you add a folder also to store all your js files and also many more sub-folders inside that one so you have each module in its own "set"
  • Remember to add the files and their respective locations to the js.txt as seen in the video
  • Modify the helloworld.html:22 so we can target it using the new module
  • mvn clean install -PautoInstallPackage for installing the app
  • Et voilà, we now have ourselves a new project using system.js and adobe experience manager (AEM)

Entradas populares de este blog

Creating a Docker container for a NodeJs application: Express + Mongo + Docker Compose

This is a Docker tutorial for creating a NodeJs container using expressjs and mongoose, above is the vid and below you will find the steps followed.
StepsPre-reqsHave node.js installedAnd docker installed (make sure you have docker-compose as well)Create an simple node app using expressjs and mongooseModify your container and create a docker-compose fileBuild and Run your new container Create your simple node appInitialize the node appnpm initInstall the dependencies for our appnpm install --save express mongoose Create the database.jsCreate the index.js Create a dockerfileInclude container with node preinstalled: FROM nodeCreate default/working directory: WORKDIR /usr/src/appCopy package.json to workdir and install dependencies (which we will need in this case😊): COPY package.json .RUN npm install Copy the rest of the app (just the index.js file in this case)COPY . .Expose the port required for reaching our expressjs appEXPOSE 3000Add a command to run when this container is star…

Creating a Mongo replicaset using docker: Mongo replicaset + Nodejs + Docker Compose

This is a Docker tutorial for creating a Mongo replica set using docker compose and also a couple more containers to experiment with the replica set, above is the vid and below you will find some of the steps followed.
StepsPre-reqsHave node.js installedAnd docker installed (make sure you have docker-compose as well)Create a container for defining configurations for a mongo instanceCreate a container for setting up the replica setCreate a simple node app using expressjs and mongoose (A modified version from the previous video)Create a docker-compose file with the mongo and setup containers and two additional containers for experimenting with the replica setBuild, Run and experiment with your new containers Create a dockerfile for the first mongo container (not really needed but you could configure more stuff if needed)Include container with mongo preinstalled: FROM mongoCreate default/working directory: WORKDIR /usr/src/configsCopy mongo's configurations file into the container
C…

Creating a tensorflow.js + vue.js simple application in javascript

This is a Tensorflow.js tutorial for creating a simple application using Vue.js, above is the vid and below you will find some of the steps followed. Steps Pre-reqs Have node.js installed Create the Vue.js application using nuxt.js Add support for tensorflow.js in vue.js and add a simple model Add the simple tensorflow.js model using vue.js into github pages Create the Vue.js application using nuxt.js Install vue.js cli npm install -g vue-cli Create a base Vue.js app using the starter kit from Nuxt vue init nuxt-community/starter-template simple-vue-tensorflow Start the dev server npm run dev Create empty component components/TensorflowExample.vue Add the component into the page pages/index.vue …