1.Global namespace dojo is not there any longer
require(["dojo/dom", "dojo/domReady!"], function(dom){
dom.byId("helloworld").innerHTML = "Hello New World!";
});
The foundation for "modern" Dojo is the
require()
function. It creates a closure of JavaScript code and provides it with the modules it needs to do the job as return variables passed as arguments to the function. Typically, the first argument is an array of module IDs (MIDs) and the second is the function. Within the closure of the
require()
, we reference the modules based on the variable name we declared in the argument.
The sharped eyed among you will notice that there is a "module" in the requirement array that doesn't have a return variable, called dojo/domReady!
. This is actually a loader "plugin" that is used to control the behaviour of the loader. This one ensures that the loader waits until the DOM structure for the page is ready.
2.Change dojo,require() to require();
require(["dojo/dom", "dojo/string", "dojo/domReady!"], function(dom, string){
dom.byId("someNode").innerHTML = string.trim(" I Like Trim Strings ");
});
3.Modern ID for widget:
Dojo supports using the Module ID (MID) in data-dojo-type. For example dojoType="dijit.form.Button" becomes data-dojo-type="dijit/form/Button"