Modules
An important reason to organize code into classes is to make
that code more modular and suitable for reuse in
a variety of situations. Classes are not the only kind of modular
code, however. Typically, a module is a single file of JavaScript
code. A module file might contain a class definition, a set of related
classes, a library of utility functions, or just a script of code to
execute. Any chunk of JavaScript code can be a module, as long as it
is written in a modular way. JavaScript does not define any language
constructs for working with modules (it does reserve the keywords
import and export, however, so future versions of the
language might), which means that writing modular JavaScript is
largely a matter of following certain coding conventions.
Many JavaScript libraries and client-side programming frameworks
include some kind of module system. Both the Dojo toolkit and Google’s
Closure library, for example, define provide() and require() functions for declaring and
loading modules. And the CommonJS server-side JavaScript
standardization effort (see http://commonjs.org)
has created a modules specification that also uses a require() function. Module systems like this
often handle module loading and dependency management for you and are
beyond the scope of this discussion. If you use one of these
frameworks, then you should use and define modules following the
conventions appropriate to that framework. In this section we’ll
discuss very simple module conventions.
The goal ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access