【发布时间】:2020-05-13 01:32:08
【问题描述】:
我正在尝试导入 threejs 和 GLTFLoader 模块,这两个模块(用于测试)都在同一个 root/js/ 文件夹中..
import * as THREE from './js/build/three.module.js'; // Works fine
import { GLTFLoader } from './js/build/GLTFLoader.js'; // Throws a disallowed MIME TYPE error
我遇到了 mimetype 问题,但是在三个主“结构”中没有抛出错误,那么为什么这不起作用?
编辑:
所以当取消注释导入 GLTF 行时,抛出的错误如下:
Loading module from “http://localhost/dev/project/build/three.module.js” was blocked because of a disallowed MIME type (“text/html”).
它似乎指的是three.module.js 路径,但是当该行被注释掉时,它都可以正常加载而没有错误。所有文件/文件夹的路径也是正确的。
【问题讨论】:
-
使用模块时总是使用
examples/jsm文件,这些文件包含相应文件的模块化版本。欲了解更多信息,请查看Import via modules -
嗨,这是我正在使用的 /jsm/ 中的模块化 GLTFLoader。我没有使用 webpack 或类似的东西来“捆绑”它们——这可能是问题吗?
-
捆绑应该不是这里的问题,您可以编辑您的帖子以包含引发的确切错误吗?
-
问题似乎与 GLTFLoader 内部导入有关,而不是您的 three.module.js 导入。正如您从错误网址中看到的那样,其中缺少“js”。更改
GLTFLoader开头的相对路径,以便它能够正确加载 three.js 构建,这就足够了。 -
Yeo - 成功了,干杯!!
标签: three.js