2016-07-20 19 views
1

Ich versuche, ein einfaches angepasstes Widget mit Dojo zu erstellen, und möchte CSS mit xstyle laden. Mit Blick auf the reference in github, sagt, es kann ich nurSchwierigkeit, xstyle als Dojoabhängigkeit zu laden

hinzufügen
<script src="dojo/dojo.js" data-dojo-config="async: true, deps:['xstyle/main']"></script> 

und durchgeführt werden. Das Problem ist, dass ich xstyle bereits unter meinen Dojo-Modulen haben muss, und ich bin mir nicht sicher, wo ich es bekommen/installieren soll?

Zusammenfassend, ich habe dies:

<script type="text/javascript"> 
     var dojoConfig = { 
       async: true, 
       parseOnLoad: true, 
       packages: [ 
        { 
         name: "app", 
         location: location.pathname.replace(/\/[^/]+$/, "") + "/app" 
        } 
       ], 
       deps: ['xstyle/main'] 
      }; 
</script> 
<script type="text/javascript" src="app/js/dojo/dojo.js"></script> 

und ich erhalte die Fehler Cannot find .../app/js/xstyle/main.js, was Sinn macht, weil ich es nicht haben, und ich weiß nicht, wo es zu bekommen.

Ich habe die Dojo-Installation von der Website heruntergeladen, die Dojo, Dijit, Dojox, & Themen enthält. Das CDN scheint auch keinen X-Stil zu haben. Ich habe auch versucht, Kriszyps andere Methode:

vergeblich. Ich glaube, ich bekomme einige already defined oder not defined Fehler abhängig, wenn ich es vor oder nach meiner Dojo-Deklaration hinzufügen.

Bitte lassen Sie mich wissen, wenn Sie mir in die richtige Richtung zeigen können!

Antwort

1

Also nach mehr in das Problem zu suchen, fand ich this Blogpost, die bower verwendet, um xstyle zu installieren. Nach der Installation mit Bower (bower install xstyle), konnte ich das Xstyle Paket im Dojo Config verknüpfen: mit 'xstyle/css!./css/checkboxTree.css'

var dojoConfig = { 
    async: true, 
    parseOnLoad: true, 
    packages: [ 
     { 
      name: "app", 
      location: location.pathname.replace(/\/[^/]+$/, "") + "/app" 
     }, 
     { 
      name: "xstyle", 
      location: location.pathname.replace(/\/[^/]+$/, "") + "/app/bower_components/xstyle" 
     }, 
    ] 
}; 

Das funktioniert, und ich bin erfolgreich in der Lage CSS in mein Widget zu laden. Ich bin mir nicht sicher, ob dies der beste Weg ist, aber es funktioniert.