我试图做一个单一的网页网站,我需要一个3d渲染引擎。但我不断地发现错误:
The requested module '/Babylon.js-master/dist/babylon.js' does not provide an export named 'Engine'HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Gcode Designer</title>
<link href="stylesheet.css" rel="stylesheet">
<script src="Main.js"> </script>
<style type="text/css" media="screen">
</style>
<script src="plotly-2.1.0.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script src="https://cdn.babylonjs.com/babylon.js"></script>
<script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>
</head>
<body>
<p>hello</p>
<canvas id="renderCanvas"></canvas>
<script type="module" src="http://127.0.0.1:5500/gcodeViewerBabylon.js"></script>
</body>Javascript
import { Scene, Engine } from '/Babylon.js-master/dist/babylon.js';
var canvas = document.getElementById('renderCanvas');
// Load the 3D engine
var engine = new Engine(canvas, true, { preserveDrawingBuffer: true, stencil: true });
//Some More code我已经尝试过的事情:
这两种方法都没有奏效。我和另一个图书馆的问题完全一样。我是新的网页开发,实际上是我的第一个项目。也许我犯了一个非常根本的错误。
同时,我也以同样的方式导入了three.js,它工作得很漂亮。
谢谢你提前提供帮助。
发布于 2021-08-19 19:17:04
如果'/Babylon.js-master/dist/babylon.js‘存储在这个脚本中,那么它应该是'./Babylon.js-master/dist/babylon.js’,如果不是本地的,则应该是完整的https.但这可能不会解决您的问题,因为该模块看起来不像“./巴比伦/核心”模块,您需要实际从该模块导出引擎和场景。
您已经在html中引用了babylonjs核心,因此您应该可以将其更改为
var canvas = document.getElementById('renderCanvas');
// Load the 3D engine
var engine = new BABYLON.Engine(canvas, true, { preserveDrawingBuffer: true, stencil: true });
var scene = new BABYLON.Scene(engine)另外,如果您真的想使用模块,您可以像下面的示例那样将脚本类型更改为模块,但是我不熟悉这个路由https://stackoverflow.com/a/34607405/12654186
参考文献https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules https://v8.dev/features/modules#mjs
https://stackoverflow.com/questions/68202100
复制相似问题