Server-Side Rendering (SSR) is back in vogue, but let’s be honest: building dynamic, server-rendered HTML pages purely in JavaScript can often feel incredibly clunky.

If you are using Node.js, you usually have to choose between two extremes. You either adopt a massive, heavy-handed meta-framework, or you wrestle with templating engines (like EJS or Pug) that feel disconnected from your actual logic. Mixing HTML and JavaScript in a standard Node.js environment is awkward. It requires routing gymnastics, string concatenations, and a mental overhead that simply shouldn't be necessary for generating a webpage.

There is a better, much cleaner way to handle this interaction, and it takes inspiration from the classic web but runs on a seriously modern engine: AxonASP.

The Elegance of True Inline Server Logic

AxonASP re-introduces the elegance of the classic ASP routing and templating model, but supercharges it for the modern JavaScript ecosystem. Instead of setting up complex controllers just to pass a JSON object to a view engine, AxonASP lets you fluidly mix your HTML and your JavaScript logic in the same file, rendered seamlessly by the same engine.