如何在实例模式下将p5.dom添加到p5.js

时间:2017-06-10 13:30:14

标签: javascript requirejs p5.js

我正在使用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.
       }
    });
});

编辑:当我尝试像变量一样使用它时,我得到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']
        }
    },

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。不幸的是,我无法使用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中执行此操作,但我不明白为什么它不起作用。