dojo¶
dojo is the foundation package of the Dojo Toolkit. Sometimes referred to as the “core”, it contains the most
generally applicable packages and modules. The dojo
package covers a wide range of functionality like AJAX, DOM
manipulation, class-type programming, events, promises, data stores, drag-and-drop and internationalization libraries.
dojo/dojo¶
This is the bootstrap module for the toolkit. It contains both the AMD and legacy loader that allows you to load other
modules and it defines require()
and define()
, the AMD functions. For backwards compatibility reasons, the
module defaults to a synchronous mode and automatically loads several modules the provide an API similar to releases
prior to 1.7. When the dojoConfig
option of async
is set to true
the module then will operate
asynchronously and loads the minimal amount of modules.
See dojo/dojo for more information on the module, as well as there is in depth information about the Dojo loader available.
dojo/_base¶
This package and associated modules break out the functionality that formally was contained in the base dojo/dojo
module. Many of the modules in this package define the “legacy” APIs for modules and packages that now sit in the root
of the dojo
package.
Content Security Policy¶
Context Security Policy (CSP) is not a Dojo technology, but a security standard that affects how Dojo functions. Information about using Dojo with a strict CSP configuration is in the CSP guide.
Areas of Functionality¶
The following table provides an overview of the sub-packages and modules in the dojo
package.
Functionality | Packages/Modules | Description |
---|---|---|
Dojo Kernel | dojo/_base/kernel | The bootstrap kernel that
generates the dojo namespace |
Dojo Configuration | dojo/_base/config | Configures Dojo and loads the default platform configuration |
Module Loading | The legacy and AMD module loader for Dojo | |
Loader Plugins | AMD Loader Plugins | |
Feature Detection | Modules that provide cross-platform feature detection and management | |
Language | dojo/_base/lang | The foundation language extensions for Dojo |
Classes | dojo/_base/declare | Dojo’s class system |
Deferreds and Promises | Asynchronous process management modules | |
Events, Connections | Modules for handling events and modifying behaviors | |
Aspect Oriented Programming | dojo/aspect | Providing aspect based advice to modify join points (methods) |
Requests | Handling of requests, the core of “AJAX” programming | |
Properties | dojo/Stateful | Management of object and class properties |
Topics/Publish/Subscribe | dojo/topic | Dojo’s Topic system |
Data and Stores | Packages that provide client side data handling | |
Router | dojo/router | Allows mapping of hash based structures to callbacks |
Parser | dojo/parser | Allows “decorated” HTML to be converted into instantiated objects |
DOM and HTML | Modules for manipulating and managing the DOM and HTML | |
Query, NodeList and Selectors | DOM querying and objective enhancements to DOM nodes | |
DOM Effects | DOM animation effects | |
Browser Window | Cross-browser compatible references to the window | |
Document Lifecycle | Document lifecycle modules | |
Browser History | Module for managing the browsers history | |
Cookies | dojo/cookie | Cookie management module |
Mouse, Touch and Keys | User input normalisation and management | |
Drag and Drop | dojo/dnd | Drag and Drop package |
Testing | Modules for simulating user input | |
Arrays | dojo/_base/array | Array routine enhancements |
Strings | dojo/string | String routine enhancements |
JSON | dojo/json | JSON handling modules |
JSON5 | JSON5 handling modules | |
Colors | Color classes/functions | |
Dates | dojo/date | Date routine enhancements |
URL and Query Strings | URL and URL query string management | |
Internationalization | Modules for handling internationalization of applications | |
Accessibility | dojo/hccss | Accessibility CSS enhancements |
Remote Procedure Calls | dojo/rpc | Ability to invoke remote procedure calls |
Miscellaneous | dojo/gears [2] |
[1] | (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) This package/module is deprecated |
[2] | While the package/module is supported the technology it relies upon is deprecated |