2017-06-10 1 views
1

Ich verwende requirejs, um meine Dateien zu bündeln. Ich habe p5.js für einige Zeit verwendet, aber ich muss p5.dom jetzt hinzufügen. Das Problem ist, ich weiß nicht, wie es mit meiner requirejs zu tun ist. Ich konnte keine Informationen finden, wie man das mit Bündeln macht.Hinzufügen von p5.dom zu p5.js im Instanzmodus

Ich habe so etwas wie dies:

require(['lib/p5js/lib/p5'], function (p5) { 
    var myp5 = new p5(function (_sketch) { 
     _sketch.setup = function() { 
      ????.createButton('click me'); // I need to access p5.dom here. 
     } 
    }); 
}); 

EDIT: Wenn ich versuche, es wie eine Variable zu verwenden ich undefined bekommen.

require(['lib/p5js/lib/p5', 'lib/p5js/lib/addons/lib/p5.dom'], function (p5, p5Dom) { 
    var myp5 = new p5(function (_sketch) { 
     _sketch.setup = function() { 
      p5Dom.createButton('click me'); // p5Dom is undefined. 
     } 
    }); 
}); 

verwendete ich shim um sicherzustellen, dass p5.js geladen wird, bevor p5.dom geladen wird, aber es half nicht:

shim: { 
     'lib/p5js/lib/addons/p5.dom': { 
      deps: ['lib/p5js/lib/p5'] 
     } 
    }, 
+0

Können Sie nicht einfach die P5.dom-Bibliothek laden, bevor Sie P5.js laden? –

+0

Sie meinen sowas? 'require (['lib/p5js/lib/addons/lib/p5.dom', 'lib/p5js/lib/p5']'? – FCin

+0

Ich weiß nicht, was passiert ist, als Sie das versuchten? –

Antwort

0

fand ich eine Lösung. Leider konnte ich es nicht mit requirejs tun, aber ich habe einfach Skript-Tags vor requirejs eingefügt und es löste das Problem. So sieht es wie folgt aus:

<script src="~/lib/p5js/lib/p5.js"></script> 
<script src="~/lib/p5js/lib/addons/p5.dom.js"></script> 
<script src="~/lib/requirejs/require.js" data-main="/js/scripts/tetromino-client/client.js"></script> 

Ich hoffte, dass dies in requirejs zu tun, aber ich verstehe nicht, warum es nicht funktioniert.