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"