EJS
Embedded JavaScript templates for node
...Because you’re using raw JS, debugging is simple—the errors are standard JS stack traces with template line numbers included. While it doesn’t impose a rigid structure (you’re free to organize templates however you like), it works reliably and is simple to adopt.