3 ms·
Hello! HMPL differs from HTMX quite seriously in that HTMX uses the outdated XMLHTTPRequest in requests, and is also almost not customizable at all. HMPL focuse
by aanthonymax 1y ago
Hello! HMPL differs from HTMX quite seriously in that HTMX uses the outdated XMLHTTPRequest in requests, and is also almost not customizable at all. HMPL focuses on customization, which is done through more complete integration via JavaScript. It differs from Alpine.js in that it is a highly specialized tool, not a general one.
Alpine.js, HTMX and HMPL - represent the same idea (if we are talking about the server), but differ in details.
- tosh 1y agoIs there a problem with XMLHTTPRequest? When you say customizable: how? Can you give an example?
- aanthonymax 1y agoIt's old. You can specify AbortController, for example.
- rendall 1y agoCould you be more specific?
- aanthonymax 1y agoimport hmpl from "hmpl-js"; const templateFn = hmpl.compile( `<div> <button data-action="increment" id="btn">Click!</button> <div>Clicks: {{#request src="/api/clicks" after="click:#btn"}}{{/request}}</div> </div>` ); const controller = new AbortController(); const clicker = templateFn(({ request: { event } }) => ({ body: JSON.stringify({ action: event.target.getAttribute("data-action") }), signal: controller.signal, })).response; document.querySelector("#app").append(clicker);
- aanthonymax 1y agoIn such code, you are free to specify almost all RequestInit supported by fetch.