JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Obracający się sześcian</title>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r124/three.min.js"></script>
  <style>
    body { margin: 0; }
    canvas { display: block; }
  </style>
</head>
<body>
  <script>
    let scene = new THREE.Scene();
    let camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
    let renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);

    let geometry = new THREE.BoxGeometry();
    let material = [
        new THREE.MeshBasicMaterial({color: 0xff0000, transparent: true, opacity: 0.5}),
        new THREE.MeshBasicMaterial({color: 0x00ff00, transparent: true, opacity: 0.5}),
        new THREE.MeshBasicMaterial({color: 0x0000ff, transparent: true, opacity: 0.5}),
        new THREE.MeshBasicMaterial({color: 0xffff00, transparent: true, opacity: 0.5}),
        new THREE.MeshBasicMaterial({color: 0x00ffff, transparent: true, opacity: 0.5}),
        new THREE.MeshBasicMaterial({color: 0xff00ff, transparent: true, opacity: 0.5})
    ];

    let cube = new THREE.Mesh(geometry, material);
    scene.add(cube);

    camera.position.z = 5;

    function animate() {
        requestAnimationFrame(animate);
        cube.rotation.x += 0.01;
        cube.rotation.y += 0.01;
        renderer.render(scene, camera);
    }
    
    animate();
  </script>
</body>
</html>