TypeScriptでGLSLファイルをインポートしたい時のメモ

覚えておきたい

2025/04/16 -最終更新日:2025/05/08

d.tsファイルを作成してtsconfig.jsonで認識させる。

tsconfig.jsonと同じルートにtypesフォルダを作成、glsl.d.tsファイルを作成する

glsl.d.ts
declare module "*.glsl?raw" {
 const value: string;
 export default value;
}

tsconfig.jsonに以下追加

"compilerOptions": {
 "typeRoots": ["types"],
},
"include": [... , "types"]

インポートする際は.glsl?rawでインポートする。

*.d.tsに.glslを追加するよう書けば.glslでもインポートできるが、ビルド時にエラーが出るようになる。

※※※ tsconfig.jsonでしっかりtypesファイルのd.tsファイルを読み込むことができていれば、.glslファイルをインポートしてもエラーはでないはず。 ※※※

これでもできない場合、上記のことは忘れてvite-plugin-glslを使う。

npm install vite-plugin-glsl --save-dev

vite.config.tsに以下追加

import glsl from 'vite-plugin-glsl';

export default defineConfig({
  plugins: [glsl()],
});

その他は公式を見るとよいだろう。