当前位置: 首页 > 知识库问答 >
问题:

前端 - 别名提示不显示,这是为什么?

郤玉书
2024-03-04
import { defineConfig } from "vite";import vue from "@vitejs/plugin-vue";import path from "path";export default defineConfig({  plugins: [vue()],  // 配置别名  resolve: {    alias: {      "@": path.resolve(__dirname, "src"),    },  },});

上面是vite.config.ts的别名配置

1.测试过别名注释在运行项目会报路径找不到,加上注释页面正常渲染(@符号)

import App from "@/App.vue";

共有4个答案

岳浩宕
2024-03-04

如果是ts还需要在tsconfigjson加上这个路径

卫泉
2024-03-04

你的配置没问题,我用你的配置在本地跑了一个干净的模版,证明可行。

// App.vue<script setup>// 使用@作为前缀,能正常读取到组件import HelloWorld from '@/components/HelloWorld.vue'</script>
// vite.config.jsimport { 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"),    },  },})

所以你说的应该是vscode无法识别你的路径别名而不是vite不识别。
要让vscode识别你的路径别名,需要在项目根目录下新增jsconfig.json文件并做如下配置:

// jsconfig.json{  "compilerOptions": {    "baseUrl": ".",    "paths": {      "@/*": ["src/*"]    }  }}

然后按住ctrl键,鼠标左键点击组件路径,也能正常跳转组件了。

章烨烨
2024-03-04

使用相对路径试试

export default defineConfig({  plugins: [vue()],  // 配置别名  resolve: {    alias: {      "@": path.resolve(__dirname, "./src"),    },  },})
秦才英
2024-03-04

在 Vite 配置中,别名(alias)的配置是正确的。你定义的别名 "@" 指向了项目的 "src" 目录。但是,你在使用别名时遇到了问题,可能是因为别名没有正确地被 Vite 解析。

问题可能出现在以下几个地方:

  1. 文件扩展名: 确保在使用别名导入文件时,包含了正确的文件扩展名。Vite 通常可以通过扩展名推断出文件类型,但如果你在别名路径后没有提供扩展名,它可能无法正确解析文件。例如,尝试将 import App from "@/App.vue"; 改为 import App from "@/App.vue";
  2. IDE/编辑器问题: 有时,IDE(如 Visual Studio Code)可能没有正确地解析别名。这通常不会影响代码的实际运行,但可能会影响你的开发体验(例如,无法正确跳转到定义或显示路径错误)。尝试重启 IDE 或安装/更新与 Vite 和 Vue 相关的插件。
  3. 路径问题: 确保 __dirname 正确指向了你的项目根目录。__dirname 通常是 Node.js 中的全局变量,它指向当前执行脚本所在的目录。在 Vite 配置中,它应该指向包含 vite.config.ts 文件的目录。
  4. Vite 版本: 确保你使用的 Vite 版本支持你的配置。有时,旧版本的 Vite 可能不支持某些特性或配置。尝试更新 Vite 到最新版本。

如果以上方法都无法解决问题,建议检查项目中的其他配置和代码,看是否有其他可能影响别名解析的因素。如果问题依然存在,请提供更多关于项目结构和配置的详细信息,以便进一步分析。

 类似资料:
  • 问题内容: 我正在尝试请求权限以获取用户的当前位置。 我的日志记录表明,在查询时,我的应用当前没有此权限,但是在不调用任何内容时,则显示。 我的Google地图代码(实现和)位于中。 我设法使该功能在该应用程序的其他“活动”中成功运行,这只是带有Google地图的功能。将其放在或中的方法中(它需要去的地方),该方法不起作用。 有任何想法吗?这与我的Activity的类()有关,还是与Google地

  • echarts数据太长为什么显示不全? 改了容器大小好像也不行,该怎么解决

  • vue项目打包部署之后本地json为什么访问不到? 使用three.js画了个中国地图,本人小白也是看大佬源码改的代码。 界面展示是正常的 但是发布之后就直接不展示地图,中间区域是没有地图元素的,并且颜色展示不正常 颜色不正常是我的另一个问题, https://segmentfault.com/q/1010000044485869 打包之后dist文件下面是有 正常的json文件的 config配

  • 16.1 库与车轮子 在多数的情况下我们都没有理由也没有必要去重新发明我们的车轮,在这时使用库会是一个比较好的做法。 16.2 库 16.2.1 jQuery Jquery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续

  • 我使用fiddler监控一个简单的html内容从一个PHP文件运行在localhost。但是每当我按f5刷新页面(浏览器)时,在fiddler中有时整个web会话的字体变成蓝色,即当它实际显示内容(html)时,相反的情况发生在web会话是灰色的时候,它不显示html内容。 注意:始终显示请求/响应标题,这仅用于内容。我还尝试了点技巧(“:80”)并从localhost切换到127.0。0.1.

  • 下面我有一个方法,调用时应该在列表中显示arrayList元素的属性: 但是,当调用它时,会出现以下错误: 线程 “AWT-EventQueue-0” java.lang.ClassCastException: supermarketiteration2 中的异常。ShopJFrame$63 不能投射到 javax.swing.DefaultListModel 我该如何解决这个问题? 编辑** 如