Search code examples
dojo

How to add a package to Dojo


I am working on the below code. Why am I not able to add a package dbootstrap into the Dojo toolkit?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Tutorial: Hello Dojo!</title>
</head>
<body class='dbootstrap'>
    <div class="jumbotron">
   <h1 id="greeting">app</h1>
    </div>
    <!-- load Dojo -->
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>
    <script>
       var dojoConfig = {
         packages: [
            {
                location: '/dbootstrap',
                name: 'dbootstrap'
            }
         ]
       };
      require([
          'dbootstrap',
          'dojo/dom',
          'dojo/dom-construct'
        ], function(dbootstrap, dom, domConstruct) {
              var greetingNode = dom.byId('greeting');
              domConstruct.place('<i> Test!</i>', greetingNode);
      });
   </script>
</body>
</html>

As you can see in this image I already added the dbootstrap folder into the root directory enter image description here

but I am getting these errors:

enter image description here


Solution

  • The dojoConfig need to be declared before including dojo.js, so, this should work for you

    <script type="text/javascript">
         var dojoConfig = {
            packages: [
                {
                    location: '/dbootstrap',
                    name: 'dbootstrap'
                }
            ]
         };
    </script>
    
    <!-- load Dojo -->
    <script type="text/javascript" 
            src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>  
    
    <script type="text/javascript">
        require([
            'dbootstrap',
            'dojo/dom',
            'dojo/dom-construct'
            ], function(dbootstrap, dom, domConstruct) {
                var greetingNode = dom.byId('nodeId');
                domConstruct.place('<i> Test!</i>', greetingNode);
        });
    </script>