NodeJS 为什么这个“import WebGL”语句在我的Vite-Project中不起作用?

djmepvbi  于 12个月前  发布在  Node.js
关注(0)|答案(1)|浏览(149)

声明:

第一个月

关于我的项目设置:

  • 我使用“npm create vite@latest”创建了根文件夹
  • 运行“npm install”,然后运行“npm install --保存三”
  • 运行“npm run dev”,在package.json中定义为“vite”
  • index.html的主体有这样一行:
<script type="module" src="/main.js"></script>

字符串

  • Main.js包括从顶部开始的一行代码以及基本的three.js场景代码,这些代码是我从Three.js的官方文档中复制的
  • 当我运行服务器时,我得到一个空白的白色页面。
    浏览器控制台显示错误:
Uncaught SyntaxError: The requested module '/node_modules/.vite/deps/three_addons_capabilities_WebGL__js.js?v=fc132b03' does not provide an export named 'WebGL' (at main.js:40:10)

项目树

.
├── counter.js
├── index.html
├── javascript.svg
├── main.js
├── node_modules
│   ├── @esbuild
│   ├── esbuild
│   ├── function-bind
│   ├── has
│   ├── is-core-module
│   ├── nanoid
│   ├── path-parse
│   ├── picocolors
│   ├── postcss
│   ├── resolve
│   ├── rollup
│   ├── source-map-js
│   ├── supports-preserve-symlinks-flag
│   ├── three
│   └── vite
├── package-lock.json
├── package.json
├── public
│   └── vite.svg
└── style.css


我很困惑,因为官方的three.js文档中建议了这个语句。我知道我可以使用绝对路径而不是别名,但我想知道为什么它不能按原样工作。只是想学习一下。
Thanks in advance

yb3bgrhw

yb3bgrhw1#

我认为它是默认导出的。所以你必须这样导入:从'three/addons/capabilities/WebGL.js'导入WebGL;
但我仍然有问题,我的IDE(Ubuntu上的Visual Code)说:找不到模块'three/addons/capabilities/WebGL.js'或其相应的类型声明。可能在使用typescript时,我需要另一个类型的安装,但我不确定。

相关问题