JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdn.rawgit.com/mrdoob/three.js/master/build/three.min.js"></script>

CSS

body {
	  margin: 0;
}

JavaScript

var scene  = new THREE.Scene();
	var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 10000);

	var renderer = new THREE.WebGLRenderer();
	renderer.setSize(window.innerWidth, window.innerHeight);
	
	document.body.appendChild(renderer.domElement);
	document.addEventListener( 'mousemove', onDocumentMouseMove, false );

	camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();
    renderer.setSize( window.innerWidth, window.innerHeight );

	/// Add a Box3
	var anchor = new THREE.Vector3( -200, -200, 0 );
	var cursor = new THREE.Vector3( 300, 300, 400 ); // increasing z here makes it look 3d.

	var box2 	   = new THREE.Box3( anchor, cursor );
	var box2Helper = new THREE.Box3Helper( box2 );

	box2Helper.rotation.z = 30;
	scene.add( box2Helper );

	// Executes when the mouse "moves"
	function onDocumentMouseMove( event ) 
	{
		event.preventDefault();
	   
		var mouse2D = new THREE.Vector2();
		mouse2D.x = ( event.clientX / window.innerWidth ) * 2 - 1;
		mouse2D.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
		
		var vector = new THREE.Vector3();
		vector.set( mouse2D.x, mouse2D.y, 0 );
		vector.unproject( camera );

		var anchor1 = new THREE.Vector3( vector.x, vector.y, 0 );
		var cursor1 = new THREE.Vector3( vector.x + 900, vector.y + 900, 0 ); // increasing z here makes it look 3d.
	
		var box3 	   = new THREE.Box3( anchor1, cursor1 );
		box2.copy(box3);

		renderer.render(scene, camera);
	}

	camera.position.z = 2000; 
	camera.position.y = 1000;
	camera.position.x = 500;

	renderer.render(scene, camera);