JSS and Sitecore Experience Edge for Experience Manager (XM)
Sitecore Experience Edge for Experience Manager (XM) is a highly scalable delivery platform for static publishing of Sitecore JSS sites and runtime content delivery for headless sites.
To use the Sitecore Experience Edge for XM content and layout delivery capabilities, you must create the JSS application with GraphQL support, by using the --fetchWith GraphQL
option. Creating the JSS application with this option results in all Sitecore layout and dictionary information being fetched using GraphQL queries.
All JSS sample applications are configured to use Sitecore Experience Edge for XM for GraphQL integration. The endpoint for Sitecore Experience Edge for XM is configured in the JSS application's package.json
file, in the config.graphQLEndpointPath
. By default, the Edge delivery endpoint is /sitecore/api/graph/edge
.
You can not extend the Edge GraphQL schema itself, but the complete layout information is published to Sitecore Experience Edge for XM. As a result, you can extend the layout data to meet your data needs.
If you created your JSS application without providing the --fetchWith
argument to the jss create
CLI command, the application uses REST services by default. You can switch from REST to GraphQL services by changing the JSS services you use in the application from RestDictionaryService
and RestLayoutService
to GraphQLDictionaryService
and GraphQLLayoutService
, respectively.
In addition to fetching data from the GraphQL endpoint, you can use Sitecore Experience Edge for XM to server-side render your JSS application using a sample app.