Viteでthreejsを使うときのメモ

Viteはthreejsで使うときも、基本、そのまま使えますが、 多少のご作法は理解しておく必要がありましたので、メモを残しておきます。

JSのコード中で読み込むアセットの取り扱い

jsでimportなどせずにパスやURLを指定して読み込むテクスチャやフォントなどです。 これらのファイルは、publicフォルダを作ってそこに格納します。 publicに格納しておくことで、build時にdistフォルダに自動的にコピーされます。 (publicに格納していないとbuild後のjsからそのままではアクセスできなくなります。)

jsからのアクセスするときには、publicを除いて記載すればよいです。 たとえば、public/textures/1.pngのファイルには、以下のように/textures/1.pngへアクセスすればよいです。

const textureLoader = new THREE.TextureLoader()
const texture = textureLoader.load('/textures/matcaps/1.png')"/textures/1.png"