You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte+Vite环境下无法导入.glb/.gltf文件的解决求助

解决Vite+Svelte项目中导入.glb文件的类型错误(适配google-modelviewer)

1. 修正类型声明文件配置

不要仅依赖vite-env.d.ts,在src目录下创建单独的类型声明文件(比如src/types/glb.d.ts),写入以下内容:

declare module '*.glb' {
  const src: string;
  export default src;
}

同时检查tsconfig.json的include数组,确保覆盖该类型文件:

{
  "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"]
}

2. 适配google-modelviewer的资源引用方式

google-modelviewer无需将GLB文件作为模块导入,直接在组件中使用静态资源路径即可:

<model-viewer
  src="../assets/t-shirt.glb"
  alt="T恤模型"
  auto-rotate
  camera-controls
></model-viewer>

若需动态绑定路径,确保导入语句正确:

<script>
  import tShirtModel from '../assets/t-shirt.glb';
</script>

<model-viewer
  src={tShirtModel}
  alt="T恤模型"
  auto-rotate
  camera-controls
></model-viewer>

3. 确认Vite配置生效

在vite.config.js/vite.config.ts中确认assetsInclude配置,之后重启开发服务器:

import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [sveltekit()],
  assetsInclude: ['**/*.glb']
});

4. 校验文件路径准确性

确认assets目录的实际位置:

  • 若为SvelteKit项目,资源应放在项目根目录的static/assets下,对应组件中的路径为../assets/t-shirt.glb
  • 若为普通Vite+Svelte项目,资源放在src/assets下,组件中路径为../assets/t-shirt.glb
    路径错误会同时触发文件找不到和类型声明错误。

内容的提问来源于stack exchange,提问作者Coregod360

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:01:12