微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 VRMLLoader 中升级 Chevrotain

如何解决如何在 VRMLLoader 中升级 Chevrotain

尝试使用与三捆绑的 VrmlLoader 将 vrml 文件加载到三个.js 场景中。

在本地运行项目时,一切正常,没有问题,从构建的部署加载项目会导致 onLoad 函数由于源代码的缩小而失败。这是我得到的错误

错误:终端令牌名称:在规则中找不到:

这是完整的堆栈跟踪:

Error: Terminal Token name: <n> not found in rule: <version>  
See: https://sap.github.io/chevrotain/docs/guide/resolving_grammar_errors.html#TERMINAL_NAME_NOT_FOUND
For Further details.
at chevrotain.module.min.js:2
at P (chevrotain.module.min.js:2)
at chevrotain.module.min.js:2
at Object.h [as forEach] (chevrotain.module.min.js:2)
at N (chevrotain.module.min.js:2)
at chevrotain.module.min.js:2
at Object.e.buildTopProduction (chevrotain.module.min.js:2)
at n.t.RULE (chevrotain.module.min.js:2)
at new n (VrmlLoader.js:3289)
at u (VrmlLoader.js:108)

堆栈跟踪提供的 Github 链接是针对 Chevrotain 项目 (this is the new repo) 的旧 Github 存储库。一些搜索产生了此页面的最新版本 (here),这表明 VrmlLoader 中嵌入的 Chevrotain 版本已过时并导致此故障排除页面用于旧版本 (here)。

链接强调了 Chevrotain

我目前使用的是在此文件位置下与three.js一起打包的VrmlLoader,如下代码片段所示:

import * as THREE from "three";
import { VrmlLoader } from 'three/examples/jsm/loaders/VrmlLoader.js'

问题一:最新版本three.js的示例中包含的Chevrotain文件如何升级

问题 2:是否有更好的方法将 VrmlLoader 包含在项目中(除了从上面显示的示例中导入它们)? (这也适用于 OrbitControls 等其他工具)

解决方法

我已在 GitHub 提交 PR 以将 chevrotain 升级到最新版本 9.0.1,请参阅 https://github.com/mrdoob/three.js/pull/21694

在 4 月底发布的下一个 r128 版本中,这个问题应该会得到解决。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。