如何解决在 react-three-fiber 和 NextJS 中加载 bm-font
我正在尝试让位图字体在 NextJS 应用程序上的 react-three-fiber 中工作,但我无法弄清楚如何让它工作。这是我尝试使用的包:https://github.com/Jam3/three-bmfont-text
如您所见,所需的包 three-bmfont-text
和 load-bmfont
都使用 CommonJS require()
语法,老实说,在使用 NextJS 时,这总是给我带来麻烦。我尝试在 getServerSideProps
中使用它,因为它只在服务器上运行,但只在 pages/
文件夹中运行,我需要在全局画布组件中使用它。另外,我认为这不是正确的想法。
我还发现了一个用于 react-three-fiber 的三 bmfont 包,但是在尝试导入字体纹理的 PNG 文件时它抛出了编码错误。我不知道如何解决这个问题,所以我决定也许那个包不是答案。
我确信有一种方法可以做到这一点,我为一个有点自以为是的问题表示歉意,但我已经走了几条路,使我无法实现这一点,我被卡住了。任何帮助将不胜感激。
解决方法
three-bmfont-text
需要一个全局 THREE
对象。您可以在 next.config.js
中这样提供:
config.plugins.push(
new webpack.ProvidePlugin({
THREE: 'three',})
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。