关于配置src别名中的path.resolve(“./src“)

vite.config.ts

复制代码
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("./src") // 相对路径别名配置,使用 @ 代替 src
    }
  }
})

path.resolve 方法用于将路径或路径片段解析为绝对路径。

上面代码中**path.resolve(__dirname, 'src')** 也可以写成 path.resolve("./src") 。两者的区别:

path.resolve(__dirname, 'src') 和 path.resolve("./src") 都是用于生成绝对路径的,但它们的基础路径不同。

  1. path.resolve(__dirname, 'src')的基础路径是 当前模块文件所在的(__dirname所在的目录)绝对路径:

    例如,如果当前模块的路径是 /home/user/project,那么path.resolve(__dirname, 'src') 将会返回 /home/user/project/src;如果当前模块的路径是 /home/user,仍会返回回/home/user/project/src。

  • __dirname 是 Node.js 中的一个全局变量,表示当前模块的目录路径。
  • 'src' 是相对于当前模块目录的路径。
  1. path.resolve("./src")的基础路径是 相对于当前工作目录(脚本执行的目录)的路径:
  • "./src" 是相对于当前工作目录的路径。
  • 例如,如果当前工作目录是 /home/user/project,那么path.resolve("./src") 将会返回 /home/user/project/src;如果当前模块的路径是 /home/user,则会返回回/home/user/src。

所以,主要区别在于基础路径不同。使用 __dirname 通常更安全,因为它是当前模块的目录,不受工作目录的影响。而使用相对路径可能受到工作目录的影响,因为工作目录可能会在不同的执行环境中变化。

相关推荐
风骏时光牛马1 小时前
生成一个移动端标题,只需要一个标题,不需要其他的任何文本。
前端
IT_陈寒1 小时前
Redis雪崩把我坑惨了,这是5年经验的教训
前端·人工智能·后端
SameX2 小时前
HarmonyOS ArkUI List 的侧滑删除 用 ListItem 的 swipeAction + endIcon 的做法
前端
usdoc文档预览4 小时前
USDOC系列之PPT文件在线编辑-VUE前端实现在线浏览器在线编辑PPT文档
前端·vue.js·编辑器·office365·ppt在线编辑·office文件在线编辑·文件在线编辑
Java小卷4 小时前
面向 schema 编程,轻松搞定 Element 虚拟化表格复杂应用场景
vue.js·低代码·element
用户2705077725244 小时前
Agent 调工具卡住?3 种超时与取消策略实测对比
前端
LuHang5 小时前
我一行代码没写,把领导派的活做成了公司内部系统😭
前端
明月_清风5 小时前
Meta 开源了一个 AI Native 组件库:Astryx,150+ React 组件,专为 AI Agent 而设计
前端·人工智能·ai编程
仨孩子的爹5 小时前
Lodop、hiprint 与 vue-print-designer:打印控件选型对比
vue.js
用户850869276155 小时前
秒杀系统中 Shell 脚本并发控制 Bug:究竟哪里出了
前端