Multiple content management systems (CMS) 
Add another CMS system, but still use the Shopware Shopping Experiences as a fallback.
This documentation guides users through the process of incorporating an additional CMS instance and use it seamlessly with the Shopware Shopping Experiences.
WARNING
This example is written for the vue-demo-store template
Adding middleware 
All you need to do is adding a middleware injection to the main routing resolver file.
templates/vue-demo-store/pages/[...all].vue
import { resolveComponent } from "vue";
import type { Ref } from "vue";
import { pascalCase } from "scule";
import {
  useNavigationContext,
  useNavigationSearch,
} from "@shopware-pwa/composables-next";
import type { Schemas } from "#shopware";
const { clearBreadcrumbs } = useBreadcrumbs();
const NOT_FOUND_COMPONENT = "errors/RoutingNotFound";
const { resolvePath } = useNavigationSearch();
const route = useRoute();
const { locale } = useI18n();
const routePath = route.path.replace(`${locale.value}`, "").replace("//", "/");
You see that the cmsPageRendererComponent is returned before the regular cmsPageView is resolved. But only if the cmsPageRendererComponent is not null and no routeName aka componentName is found. Further details can be found in the comments in the code above.
Also, you can find a complete example here at Strapi CMS Integration.