在Vite中尝试使用绝对路径

前端开发 2026-07-08

我想停止使用相对路径,改用一个基本的绝对路径,不要有 @ 符号,只要像 'component/General/Button' 这样的路径。以下是我当前在配置中的内容,但似乎没有解析我设置的任何路径:

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

import path from "path";


// https://vite.dev/config/
export default defineConfig({
  base: "/",
  plugins: [react()],
  resolve: {
    alias: {
      "api": path.resolve(__dirname, "./src/api/*"),
      "context": path.resolve(__dirname, "./src/context/*"),
      "components": path.resolve(__dirname, "./src/components/*"),
    },
  },
  server: {
    port: 3000,
  },
});

我到底做错了什么,还是我该如何设置我的解析器?我只想从src开始,所有路径都从那里按我想要的方式设置。

解决方案

我猜应该把 /*path.resolve(...) 调用中移除。glob模式只会出现在别名键中,或者tsconfig.json的 paths中。另外把paths添加到tsconfig.json中,让TypeScript能理解这些别名:

// vite.config.ts
resolve: {
  alias: {
    "api": path.resolve(__dirname, "./src/api"),
    "context": path.resolve(__dirname, "./src/context"),
    "components": path.resolve(__dirname, "./src/components"),
  },
},
// tsconfig.json
{
  "compilerOptions": {
    "paths": {
      "api/*": ["./src/api/*"],
      "context/*": ["./src/context/*"],
      "components/*": ["./src/components/*"]
    }
  }
}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章