glMatrix - mat4 未定义

问题描述 投票:0回答:3

嗨, 我下载了 toji-gl-matrix-21b745f。

我复制了文件 dist/gl-matrix-min.js 在Web根文件夹中。

在index.html我有:

<script src="gl-matrix-min.js"></script>
<script src="main.js" defer></script>

main.js中我使用:

const matrix = mat4.create();

结果是:ReferenceError:mat4未定义

我已经尝试过 glMatrix.mat4 但结果是相同的。

我不明白这个错误。 有人能帮我吗。 提前谢谢

webgl gl-matrix
3个回答
2
投票

解构仅提供对象,但不提供 VS Code 智能感知中的方法。

我下载了源文件而不是 dist 文件,将它们放在一个文件夹中,然后从

index.js
文件导入,如下所示:

import { mat2, mat2d, mat3, mat4, quat, quat2, vec2, vec3, vec4, } from "./index.js";

这些源文件很大,因此您需要在生产中切换为“缩小”版本,然后为此切换上面的:

import "./gl-matrix-min.js";
const { mat2, mat2d, mat4, mat3, quat, quat2, vec2, vec3, vec4 } = glMatrix;

完整代码完成提示:


1
投票

看到这个:https://cdnjs.cloudflare.com/ajax/libs/gl-matrix/2.8.1/gl-matrix-min.js 我认为你应该包含这个包含 mat4 对象的文件。


0
投票

如果您使用最新版本的 gl-matrix 库并以正常方式加载它(直接不是从 npm build 等),则在调用 glMatrix funcs 之前使用它...:

输入全局空间,你的程序就会正常工作。

window.mat4 = glMatrix.mat4
window.mat2 = glMatrix.mat2
window.mat2d= glMatrix.mat2d
window.mat3= glMatrix.mat3
window.mat4= glMatrix.mat4
window.quat= glMatrix.quat
window.quat2= glMatrix.quat2
window.vec2= glMatrix.vec2
window.vec3= glMatrix.vec3
window.vec4= glMatrix.vec4
© www.soinside.com 2019 - 2024. All rights reserved.