未捕获的SyntaxError Three.js FontLoader

时间:2018-12-28 14:48:57

标签: javascript three.js

我试图在Three.js中使用FontLoader创建3D文本,但出现错误。

我使用Three.js r99。

  const loader = new THREE.FontLoader();

  //https://github.com/mrdoob/three.js/tree/dev/examples/fonts
  loader.load("./fonts/helvetiker_regular.typeface.json", function(font) {
    const textGeometry = new THREE.TextGeometry("Hello!", {
      font: font,
      size: 20,
      height: 5,
      curveSegments: 12
    });
    const material = new THREE.MeshNormalMaterial();
    const textMesh = new THREE.Mesh(textGeometry, material);
    scene.add(textMesh);
  });

Chrome开发者工具的输出如下。

THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.
VM5770:1 Uncaught SyntaxError: Unexpected token T in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.onLoad (three.module.js:39064)
    at XMLHttpRequest.<anonymous> (three.module.js:33974)

VM 5770(?)似乎指向index.html的内容。 “ T”似乎是

的T
<meta charset = "UTF-8" />.

我不知道发生了什么。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。 原因是包裹,而不是Three.js。完美地将json文件复制到dist目录。