gpt4 book ai didi

javascript - 在 Node Express 服务器中导入 Three.js 模块

转载 作者:太空宇宙 更新时间:2023-11-03 21:50:24 26 4
gpt4 key购买 nike

我正在尝试在我的 html 脚本中导入 ThreeJs 模块进行测试,当我下载 Three.js 文件并有指向它的链接时,它就可以工作了。但尝试更改模块给我带来了麻烦。我有以下代码来导入 Three.js 模块。

<html lang="en">
<head>
<title>ThreeJs Test</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<link type="text/css" rel="stylesheet" href="css/main.css">
</head>
<body>
<script type="module">
import * as THREE from '/node_modules/three/build/three.module.js';
</script>

</body>
</html>

执行此操作时出现以下错误: Error

我有以下文件结构: file structure

在 Node 服务器中,我路由到一个包含以下代码的js文件:

const path = require('path');
const router = express.Router();

const fileDir = path.join(__dirname, '../../pages/threeTest');

router.use('/', express.static(fileDir));
router.get('/', (req, res) => {
res.sendFile(fileDir+'/html/index.html')
});

module.exports = router;

我的路由和服务器工作得很好,但当 html/js 文件需要从客户端导入模块时,我无法让它工作。如果这是一个简单的修复或者我做了一些愚蠢的事情,这不会令人惊讶。抱歉,如果是的话。

最佳答案

您必须将 two.module.js 文件移动到 Express 将提供服务的位置。例如,如果您有一个公共(public)文件夹,其中包含 Express 提供的其他静态文件,请将 two.module.js 文件放在那里,然后在导入中放置该资源的正确 URL html 脚本中的语句。

换句话说,网络浏览器无法访问 /node_modules/Three/build/third.module.js。这些是 Express 默认情况下对网络浏览器隐藏的服务器端文件。

关于javascript - 在 Node Express 服务器中导入 Three.js 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60057183/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com