如何在TypeScript中将glsl作为字符串导入?

use*_*095 5 glsl typescript

我正在使用TypeScript在WebGL项目中工作。glsl编写了许多着色器,我想将它们作为字符串导入ts文件中。喜欢:

import fxaa from "./shaders/fxaa";
const fxaaShader = new Shader(fxaa); // pass as string
Run Code Online (Sandbox Code Playgroud)

我可以做吗 ?

Bra*_*ill 11

迟到了,但只需添加一个声明文件glsl.d.ts

declare module '*.glsl' {
  const value: string
  export default value
}
Run Code Online (Sandbox Code Playgroud)

...然后作为字符串导入:

import shaderVert from './shaders/vertex.glsl'
Run Code Online (Sandbox Code Playgroud)

...如果你使用 webpack,你需要 ts-shader-loader