В сообщении об ошибке указывается error: Uncaught SyntaxError: Unexpected token 'export'
, что означает, что синтаксический анализатор JavaScript не выполнен. Это не ошибка Three.js.
По вашей ссылке Проверка совместимости WebGL , импортированный код является модулем JavaScript ES. Взгляните на эту строку . В этой строке используется ключевое слово export
, используемое для экспорта модуля. Таким образом, вы имеете дело с модулем, а не с классическим JS-скриптом.
Если вы хотите включить модуль, а не простой скрипт, вам нужно использовать:
<script src="js/three.js"></script>
<script type="module">
import { WebGL } from 'js/WebGL.js';
if ( WEBGL.isWebGLAvailable() ) {
// ...
}
</script>
YouВы также можете напрямую использовать файл сценария WebGL вместо модуля JS, если это проще для вас. Вы можете найти это здесь . Затем вы сможете получить доступ к пространству имен WEBGL
следующим образом:
if ( THREE.WEBGL.isWebGLAvailable() ) {
// WebGL is available
} else {
// WebGL isn't available :(
}
Я бы порекомендовал вам прочитать разницу между JS-скриптом и модулями. Например, здесь .