This example uses shortcodes in a post. The style and script assets are linked. The script asset uses a global version of the Vue library. The template asset is rendered in a x-template script that gets used by the vue component.
<template><pclass="msg">{{msg}}</p></template><scriptlang="ts">importtypeVuefrom'vue'declareglobal{interfaceWindow{Vue:typeofVue;}}const{createApp,ref}=window.Vue;createApp({template:"#msg_tmpl",setup:()=>{constmsg=ref('Hello from Vue!');console.info(msg.value);return{msg};}}).mount("#sfc");</script><stylelang="scss">.msg{color:lighten(steelblue,5);font-weight:bold;font-size:2.5em;}</style>