【问题标题】:THREE is not defined in AngularAngular 中没有定义三个
【发布时间】:2021-01-17 21:28:17
【问题描述】:

我正在使用来自npm 的最新包three,并希望将其导入Angular 10 项目中。

var THREE = require("three");
var FBXLoader = require("three/examples/js/loaders/FBXLoader");

还有臭名昭著的错误信息:

Uncaught ReferenceError: THREE is not defined
    at Object.W5wy (FBXLoader.js:18)
    at __webpack_require__ (bootstrap:79)

我明白 THREE 没有在 FBXLoader 中定义,但是当它不能通过常规 require 导入时,这个包是如何存在的?

有谁知道如何解决这个问题?非常感谢任何帮助!

【问题讨论】:

标签: three.js


【解决方案1】:

我认为您正在导入 FBXLoader 的非模块版本。试试(jsm 而不是路径中的js):

var FBXLoader = require("three/examples/jsm/loaders/FBXLoader");

这至少适用于 ES 模块:

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

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 2021-03-26
    • 1970-01-01
    • 2017-06-07
    • 2017-08-12
    • 2019-04-01
    • 2014-10-01
    • 2016-02-02
    • 2014-08-10
    相关资源
    最近更新 更多