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

Aurelia项目中Vitest路径导入失败:无法解析services/api

解决Vitest无法识别Vite别名的问题

确认Vite别名配置正确性

先检查你的vite.config.js里的别名配置是否符合规范,正确的配置示例如下:

import { defineConfig } from 'vite';
import { resolve } from 'path';

export default defineConfig({
  resolve: {
    alias: {
      'services': resolve(__dirname, 'src/services')
    }
  }
});

确保路径解析正确,__dirname指向项目根目录,别名映射到src/services的绝对路径。

让Vitest继承Vite的resolve配置

Vitest默认会读取vite.config.js,但部分场景下需要显式继承配置,或者单独配置vitest.config.js:

  • 方案1:创建/修改vitest.config.js
    导入Vite的配置并合并到Vitest配置中:
    import { defineConfig } from 'vitest/config';
    import viteConfig from './vite.config';
    
    export default defineConfig({
      ...viteConfig,
      test: {
        environment: 'jsdom' // 前端项目通常需要这个配置,根据实际情况调整
      }
    });
    
  • 方案2:在vite.config.js中添加test配置
    如果不想单独维护vitest配置文件,直接在现有Vite配置里追加test选项:
    import { defineConfig } from 'vite';
    import { resolve } from 'path';
    
    export default defineConfig({
      resolve: {
        alias: {
          'services': resolve(__dirname, 'src/services')
        }
      },
      test: {
        environment: 'jsdom'
      }
    });
    

验证目标文件存在性

确认src/services目录下存在api.js(或api/index.js)文件,注意文件名称的大小写——Linux/macOS系统区分大小写,Windows不区分,避免因大小写不匹配导致的找不到文件问题。

清除缓存并重启测试服务

缓存可能导致配置未生效,执行以下操作:

  • 关闭当前运行的Vitest服务
  • 删除node_modules/.cache目录
  • 重新启动测试命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:34:56