vite vue3 路由配置@找不到文件

问题描述

今天第一次使用vite单间vue3的一个typescript的项目。在配置路由的时候,遇到了一个问题,就是添加路由界面的时候,找不到指定的文件,提示错误,如下图:

[vite] Internal server error: Failed to resolve import "@/views/login/index.的相关错误。

11:13:20 ├F10: PM┤ [vite] Internal server error: Failed to resolve import "@/views/login/index.vue" from "src\router\index.ts". Does the file exist?
  Plugin: vite:import-analysis
  File: G:/vue/vue3/demo01/vitedemo1/src/router/index.ts
  1  |  import { createRouter, createWebHashHistory } from "vue-router";
  2  |  import login from "@/views/login/index.vue";
     |                     ^
  3  |  const routes = [
  4  |    {
      at formatError (G:\vue\vue3\demo01\vitedemo1\node_modules\vite\dist\node\chunks\dep-971d9e33.js:38082:46)
      at TransformContext.error (G:\vue\vue3\demo01\vitedemo1\node_modules\vite\dist\node\chunks\dep-971d9e33.js:38078:19)
      at normalizeUrl (G:\vue\vue3\demo01\vitedemo1\node_modules\vite\dist\node\chunks\dep-971d9e33.js:69803:26)
      at processTicksAndRejections (internal/process/task_queues.js:97:5)
      at async TransformContext.transform (G:\vue\vue3\demo01\vitedemo1\node_modules\vite\dist\node\chunks\dep-971d9e33.js:69943:57)
      at async Object.transform (G:\vue\vue3\demo01\vitedemo1\node_modules\vite\dist\node\chunks\dep-971d9e33.js:38318:30)
      at async doTransform (G:\vue\vue3\demo01\vitedemo1\node_modules\vite\dist\node\chunks\dep-971d9e33.js:53014:29)

但是,如果将@换成 ../就正常了,如下图:

对于第一次使用vite的我来说一脸懵逼,在晚上找了很久,终于找到一个完整的解决方案,

解决办法

1、需要先安装一个path的插件

npm install --save-dev @types/node

2、找到vite.config.ts这个文件(在根目录下,进行如下配置) 

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// *********************************** 路径配置新增 start  
import { resolve } from 'path'     

const pathResolve = (dir: string): any => {  
  return resolve(__dirname, ".", dir)          
}

const alias: Record<string, string> = {
  '@': pathResolve("src")
}

// ********************************** 路径配置新增  end 
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  resolve: {  // ****************** 路径配置新增
    alias     // ****************** 路径配置新增
  }           // ****************** 路径配置新增
})

3、配置完之后,重新启动项目就可以了

  • 24
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3中,使用TypeScript配置路径别名时遇到不到模块或其相应的类型声明的问题,可以按照以下步骤解决: 1. 在项目根目录下的tsconfig.json文件中,到"compilerOptions"字段,确保有以下配置: ``` "baseUrl": "./", "paths": { "@/*": ["src/*"] } ``` 这样配置可以将路径别名"@/"映射到"src/"。 2. 确保项目根目录下的vite.config.js文件中有正确的配置。请确认resolve.alias配置如下: ``` resolve: { alias: { '@': path.resolve(__dirname, 'src') } } ``` 这样配置可以使vite正确识别路径别名"@/"。 3. 如果仍然遇到不到模块或其相应的类型声明的问题,可以尝试执行以下命令: ``` npm add @types/node --save-dev ``` 这样可以安装Node.js的类型声明文件,以解决类型声明问题。 通过以上步骤,您应该能够解决在Vue 3中使用TypeScript配置路径别名时遇到不到模块或其相应的类型声明的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue3.x+vite+ts+vue-router@4.x 路由使用demo](https://download.csdn.net/download/csl125/86249355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [vue3+vite+ts 配置别名@报错不到模块](https://blog.csdn.net/weixin_43754395/article/details/128112575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Vue3+TS更改文件系统路径别名报错:不到模块“@/store”或其相应的类型声明。ts(2307)](https://blog.csdn.net/qq_52855464/article/details/128276126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值