Я использую requirejs
для requirejs
моих файлов. Я использовал p5.js
течение некоторого времени, но мне нужно добавить p5.dom
сейчас. Проблема в том, что я не знаю, как это сделать с моими requirejs
. Я не мог найти информацию о том, как это сделать с помощью комплектации.
У меня есть что-то вроде этого:
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: Когда я пытаюсь использовать его как переменную, я получаю undefined
.
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.
}
});
});
Я использовал shim
чтобы обеспечить p5.js
до загрузки p5.dom
, но это не помогло:
shim: {
'lib/p5js/lib/addons/p5.dom': {
deps: ['lib/p5js/lib/p5']
}
},
Я нашел решение. К сожалению, я не смог сделать это с помощью requirejs
, но я просто включил теги скриптов перед requirejs
и решил проблему. Так выглядит:
<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>
Я надеялся сделать это в requirejs
, но я не понимаю, почему это не сработало.