0👍
You can eval your variables automatically and inject JSON into the props.
Also related: you could mount your components in random parts of your
backend-generated page outside a Vue app:
Mounting components individually without a root like #app
import './assets/main.css';
import { createApp } from 'vue';
const app = createApp({});
const components = import.meta.glob('@/**/*.vue', { eager: true });
Object.values(components).forEach(({ default: component }) => app.component(component.__name, component));
const $app = document.querySelector('#app');
for (const path in components) {
const tag = path.match(/([^/]+).vue/)?.[1].split(/(?=[A-Z])/g).join('-');
for (const $elem of $app.querySelectorAll(tag)) {
for (const attr of $elem.attributes) {
if (!(attr.name[0] === ':' || attr.name === 'v-bind')) {
continue;
}
const fn = new Function('', `return JSON.stringify(${attr.value})`);
$elem.setAttribute(attr.name, fn());
}
}
}
app.mount('#app');
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vite App</title>
</head>
<body>
<script>
const message = 'Hello world!';
const subtitle = { content: 'And enjoy your sufferring!' }
</script>
<div id="app">
<hello-world :subtitle="subtitle" :msg="message"></hello-world>
</div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
The project’s source code:
const src='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'
<h1>Download source code</h1>
<a download="global-vars.zip">Right click and Save link as...</a>
<script>
setTimeout(()=>document.querySelector('a').href = `data:application/zip;base64,${src}`, 300);
</script>
Source:stackexchange.com