在Vite中尝试使用绝对路径
我想停止使用相对路径,改用一个基本的绝对路径,不要有 @ 符号,只要像 '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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。