Flave was created to bring ASP.NET Razor to Node. Along the way some liberties on the implementation were made. While there is no shortage of very powerful templating engines that exist for JavaScript. There seems to be a very common theme of reducing/removing logic from the view. Flave isn't about that. In fact that's where Flave gets it's name. Flave stands for Full Logic Access View Engine. It aims to allow as much control of the markup and how it's generated, and because the views are all plain old JavaScript functions that return strings. There is no DOM needed. Which means that the functions are isomorphic, allowing you to create code that is usable server-side and client-side.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Syntax Highlighting
Syntax Highlighting extensions for Atom and VSCODE
Pro JavaScript allowed in views
Pro Helper functions
Can write pure JavaScript helper functions to include in the view file.
Pro Multiple Templates in a single file
Optionally encapsulate views within a class as well as have as many view as you want.
Pro Not white space sensitive
Cons
Con Limited support and testing
Con No data binding
Flave only generates HTML.