📖

vite では wasm ファイルをうまくキャッシュ(optimzieDeps)してくれないっぽいメモ

に公開

tinyusdz パッケージ

https://www.npmjs.com/package/tinyusdz

では wasm ファイルがあるけど, vite で動かすとなぜか wasm ファイルを見つけてくれん...

どうも vite の optimizeDeps で wasm ファイルをうまく見つけてくれないのが原因のようです.

解決

とりあず vite.config.ts 用意して, optimizeDep しないように disable すると OK

import { defineConfig } from 'vite';

// https://vitejs.dev/config/
export default defineConfig({
  server: {
    headers: {
      'Cross-Origin-Opener-Policy': 'same-origin',
      'Cross-Origin-Embedder-Policy': 'require-corp',
    },
  },
  optimizeDeps: {
    exclude: ['tinyusdz'],
  },
});

さらなる高みへ

module の package.json に記述されたファイルは全部 vite で cache(node_modules/.vite フォルダ) してほしいところであるが, そうなってはいないっぽい.

とりま include でファイル指定で wasm ファイル取り込むようにするのがいいだろうか.

https://vite.dev/config/dep-optimization-options#optimizedeps-include

詳しいことは ChatGPT なり Claude くんに相談してみて.

Discussion