我写了一些 WebGL 代码,实际上我正在玩找到的例子 here .无论如何,我决定编写三个单独的伪类,为了节省空间,我将在这里只展示其中一个,因为我认为其他伪类与问题无关。
var Buffer = (function() {
/* PRIVATE MEMBERS */
var currentBuffer;
var itemSize = 3;
var numberItems;
var localWebGLContext;
/* CONSTRUCTOR */
var BufferConstructor = function(webGLWorker, vertices) {
localWebGLContext = webGLWorker.getWebGLContext();
currentBuffer = localWebGLContext.createBuffer();
localWebGLContext.bindBuffer(localWebGLContext.ARRAY_BUFFER, currentBuffer);
localWebGLContext.bufferData(localWebGLContext.ARRAY_BUFFER, new Float32Array(vertices), localWebGLContext.STATIC_DRAW);
numberItems = vertices.length / itemSize;
};
return BufferConstructor;
})();
所以我想知道什么是最好的方法,我可以将它们包含(要求)在一个单独的文件中,该文件将引导一切。我阅读了有关 CommonJS 的内容,但这是在服务器端,而这里我们讨论的是客户端。我真的不想将所有内容都保存在一个文件中,因为我想要做的事情最终会像一个应用程序一样大,我真的不想把它全部放在一个地方。提前致谢!
最佳答案
对于我的 WebGL 项目,我使用 Require.js .语法不如 Node 的 CommonJS 实现好,但它与客户端的异步特性配合得很好。快速示例:
require([
"renderer",
"util"
], function(Renderer, Util) {
// Use the code from your required files in here!
});
为它定义一个模块同样简单:
define([
"matrix" // Dependencies for this module
], function(Matrix) {
return {
DrawSuff: function() { /*...*/ }
}
});
您可以在 WebGL 项目中看到一个简单的例子 here .
关于javascript - 如何将 "require"分成三个文件的 WebGL 代码放入一个引导文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9752948/