% extends 'skins/base.html' %>
<% subskin 'content' | markdown %>
RingoJS implements the [Modules 1.1 specification][1] defined by the
[CommonJS group][2]. On top of this, RingoJS uses per-module top-level
scopes to provide [full namespace isolation](http://ringojs.org/wiki/Modules%20and%20Scopes/)
and implements automatic reloading of updated modules.
[1]: http://wiki.commonjs.org/wiki/Modules/1.1
[2]: http://wiki.commonjs.org/wiki/CommonJS
Modules are also used as building blocks for web applications. Web developers simply map
modules to the URI namespace of their web app and all exported functions in the module
will be callable through the web.
For example, the following code in a web app's config.js
maps the module named "webmodule" to URI path <% path %>:
exports.urls = [
[ '/mount/point', 'webmodule' ]
]
You can learn more about modules on the [RingoJS wiki](http://ringojs.org/wiki/Modules%20and%20Scopes/).