繁体   English   中英

尝试使用 three.js 时出现“未捕获的语法错误:无法在模块外使用 import 语句”

[英]“Uncaught SyntaxError: Cannot use import statement outside a module” when trying to use three.js

我无法将三个 js 导入我的项目。 首先我跑了:

我在这里关注文档: https://threejs.org/docs/#manual/en/introduction/Installation

我在我的 VS 代码终端中为我的文件夹项目运行了这个:

npm install --save three

然后我创建了样板 HTML 并将其链接到我的 JS 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WebGL</title>
</head>
<body>
    
    <script src="app.js"></script>
</body>
</html>

然后我只是将文档代码复制并粘贴到 JavaScript 文件中:

import * as THREE from 'three';
//etc.

,但我收到此错误:

在此处输入图像描述

如果我将脚本更改为:

<script src="app.js" type="module" ></script>

我收到此错误:

在此处输入图像描述

这是我的文件夹结构,一切似乎都可以正常工作,因为当我执行“alert(”Hello World)”时,我的 JS 文件可以在实时服务器 VS 代码上运行。

在此处输入图像描述

为什么我的导入语句会导致我的错误? 提前致谢。

假设您正在关注本文档……

阅读您正在抄袭的代码示例之后的段落:

从 npm 安装时,您几乎总是会使用某种捆绑工具将项目所需的所有包组合到一个 JavaScript 文件中。 虽然任何现代 JavaScript 捆绑器都可以与 three.js 一起使用,但最受欢迎的选择是 webpack。

你没有那样做。 您正在尝试将其直接加载到浏览器中。

看下面的例子。

你需要:

  • 对文件使用 URL 而不依赖于 node.js 的无扩展模块解析系统
  • 使用type="module"脚本

一般来说,更好的方法是使用 Webpack 或 Parcel 之类的打包程序编写代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM