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

TypeScript中.d.ts文件可访问性及导入报错问题排查

资源导入报错与TypeScript声明配置解决方案

1. 先解决眼前的语法错误

你提供的导入代码里有个明显的语法问题——第二个导入语句的字符串没闭合,这就是[PARSE_ERROR] Unterminated string的直接原因:

// 错误写法:末尾缺了单引号
import Logo from '../../../assets/Resources/icons/logo.png;
// 修正后:
import Logo from '../../../assets/Resources/icons/logo.png';

2. .d.ts文件的正确放置与生效逻辑

你的.d.ts内容是对的,不需要到处移动,直接放在src目录下(和vite-env.d.ts同级)就行。Vite + TypeScript会自动扫描src下的全局声明文件,只要语法错误修复,导入资源时就不会再报“找不到模块”的类型错误。

3. 优化资源导入:用Vite路径别名告别嵌套相对路径

你想统一管理导入变量名,推荐配置Vite路径别名,彻底摆脱../../../这种容易出错的相对路径:

步骤1:修改vite.config.js

import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import path from 'path';

export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      // 给资源目录起别名
      '@assets': path.resolve(__dirname, './src/assets/Resources'),
    },
  },
});

步骤2:补充TypeScript别名声明

在src/vite-env.d.ts里加上别名的类型支持(或者把你的资源类型声明合并到这里):

/// <reference types="vite/client" />

// 资源类型声明
declare module '*.png' {
  const src: string;
  export default src;
}
declare module '*.jpg' {
  const src: string;
  export default src;
}
declare module '*.mp4' {
  const src: string;
  export default src;
}

// 路径别名的TypeScript支持
declare module 'node:path' {
  export * from 'path';
}

步骤3:用别名简化导入

之后就可以用简洁的路径导入所有资源,再也不用数层级:

import RightDownArrow from '@assets/icons/right-down.png';
import Logo from '@assets/icons/logo.png';
import SpringVideo from '@assets/Video/2026-spring-homepage.mp4';

总结

  • 当前报错的核心是导入语句未闭合字符串,先修正这个语法错误
  • .d.ts文件放在src根目录就会生效,位置没问题
  • 配置Vite路径别名能高效解决资源导入路径混乱的问题,方便统一管理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 05:43:10