如何在 Vite 的 *.vue 组件导入中使用路径别名?

问题描述

当我在 Vite 中使用 Vue 单文件组件时,我可以使用 tsconfig.json 中的 baseUrlpath 别名来导入 *. ts 文件转换为组件文件。但是,这同样不适用于导入 *.vue 文件,因为我遇到了运行时错误。

// ts files: works fine
import { FooModel } from "@/models/FooModel"

// vue files: relative path works fine
import { FooComponent } from "./models/FooComponent.vue"

// vue files: path alias gives a run-time error!
import { FooComponent } from "@/models/FooComponent.vue"

Vite.js Discord Server 上有一个类似的问题,但尚未得到解答。

因此,我的主要问题是:如何让路径别名适用于 Vite 中的单个文件组件导入?

子问题是谁在 Vite 中解析 *.vue 文件的路径?使用 Vue CLI,这是在 webpack 中处理的,如果我没记错的话,那么在 Vite 中是汇总?

解决方法

试试这个!

// vite.config.js
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import path from "path";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],resolve: {
    alias: {
      "@": path.resolve(__dirname,"./src") // map '@' to './src' 
    },},});

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...