onServerDefine insertTemplates onServerDefine() insertTemplates()
import { onServerDefine, insertTemplates } from 'thunderous';
let htmlResponse = `
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example</title>
</head>
<body>
<my-element></my-element>
</body>
</html>
`;
onServerDefine((tagName, innerHTML) => {
htmlResponse = insertTemplates(tagName, innerHTML, htmlResponse);
});
export default function handler(req, res) {
// ----- define custom elements here
res.setHeader('Content-Type', 'text/html');
res.send(htmlResponse);
}
clientOnlyCallback() customElement()
import { customElement, html } from 'thunderous';
const MyElement = customElement(({ clientOnlyCallback }) => {
// This will be run in the constructor of the custom element.
clientOnlyCallback(() => {
console.log('This will only run on the client.');
});
return html`<div>My Element</div>`;
});
// ------ OR ------
import { clientOnlyCallback } from 'thunderous';
// This will run immediately, and may be awaited if necessary.
clientOnlyCallback(() => {
console.log('This will only run on the client.');
});