The mojo.js documentation is structured into two parts, the tutorial everyone starts with, and multiple guides that explain all major features in detail.

Some parts of the documentation only use simplified single file web applications for examples, but that's merely a convenience for the reader. Almost all features are exactly the same for full well-structured mojo.js applications.


  • Learning Web Technologies

    All web development starts with HTML, CSS and JavaScript, to learn the basics we recommend the Mozilla Developer Network. And if you want to know more about how browsers and web servers actually communicate, there's also a very nice introduction to HTTP.


  • Variable names

    For brevity and clarity, example variables will reflect the type of data the API uses. For instance, ctx to denote a Context object, and app to denote the App object.



  • Growing

    Starting a single file prototype from scratch and growing it into a well-structured mojo.js application.

  • Routing

    A more detailed introduction to the mojo.js router.

  • Rendering

    Generating content with the mojo.js renderer.

  • User-Agent

    How to use the full featured HTTP and WebSocket user-agent that ships with the mojo.js framework.

  • Cookbook

    Cooking with mojo.js, recipes for every taste.

  • Contributing

    Become a part of the ongoing mojo.js development.

  • FAQ

    Answers to the most frequently asked questions.


  • Cheatsheet

    An overview of the most commonly encountered mojo.js classes, helpers and hooks.

  • API

    This is the class hierarchy of mojo.js, listing all available methods and properties.


These modules are not part of @mojojs/core itself, but have been designed to be used with it and are being developed under the same umbrella.

  • @mojojs/dom

    A fast and minimalistic HTML/XML DOM parser with CSS selectors.

  • @mojojs/path

    A convenient container class for file system paths.

  • @mojojs/pg

    A tiny wrapper around pg that makes PostgreSQL a lot of fun to use.

    Examples: A the well-structured blog application that will show you how to apply the MVC design pattern in practice.

  • @mojojs/template

    A very fast embedded JavaScript template engine.


A lot more documentation and examples by many different authors can be found in the mojo.js wiki.


If you have any questions the documentation might not yet answer, don't hesitate to ask in the Forum, on Matrix, or IRC.