带有RequireJS的glMatrix 2.2.0

时间:2013-06-25 20:12:16

标签: javascript requirejs global-namespace

当包含在RequireJS中时,glMatrix 2.2.0的所有定义似乎都未定义。但是,在页面检查时,它作为脚本标记包含在HTML中。

然而,相同的设置适用于glMatrix 1.3.7

require配置如下:

require.config({
baseUrl: 'js/app',
paths: {
    jquery: '../lib/jquery',
    glm: '../lib/gl-matrix'
}
});

require(['main']);

main.js看起来像(jquery在这个例子中起作用):

define(function (require) {
var $ = require('jquery');
require('glm');

$(function () {
    var a = mat4.create();
    $('body').html("hello: " + a);
});
});

我也遇到了与stats.js等其他全局命名空间库相同的问题。

尽管在HTML中定义脚本是有效的,但我最好还是希望它与RequireJS一起使用以实现最小化/连接。

<script src="js/lib/stats.js"></script>
<script src="js/lib/gl-matrix-min.js"></script>

希望我错过了一个明显的东西,因为我正在撕裂我的头发。

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

我也使用glmatrix和require.js,最新的版本有require.js支持,对我来说似乎工作正常。

但是我对require.js的使用略有不同,我的模块通常是这样开始的:

define(['lib/glmatrix/gl-matrix'],
    function(glmatrix) {
        var myModule = function() {};
        // use glmatrix.vec3, etc here
        return myModule;
});

这对你有用吗?