You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node 16升级至20后Vite/Vue3中import.meta.glob路径解析异常

解决Node 20下Vite import.meta.glob路径解析错误问题

问题根源

Node 20对URL路径的解析逻辑与Node 16存在差异,结合Vite的路径别名配置时,会触发Windows盘符路径与相对路径混合解析的问题——尤其是用fileURLToPath处理ES模块URL生成别名时,容易产生格式冲突。

解决方案

1. 修正Vite路径别名配置

把原有的fileURLToPath方式替换为path.resolve(需引入Node的path模块),规避URL解析带来的Windows路径格式问题:

// vite.config.ts
import { defineConfig } from 'vite'
import path from 'path'

export default defineConfig({
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src')
    }
  }
})

2. 调整import.meta.glob的路径写法

修正别名配置后,可继续使用别名路径;也可改用项目根目录相对路径:

// 使用别名(配置修正后即可正常运行)
const all = import.meta.glob('@/components/*.vue')

// 或改用项目根目录相对路径
const all = import.meta.glob('./src/components/*.vue')

3. 升级Vite至兼容版本

Node 20需要搭配Vite 4.3.0及以上版本,旧版Vite对Node 20的路径解析支持不完善,执行以下命令升级:

npm install vite@latest --save-dev

4. 排查Windows路径格式

若问题仍存在,需确保别名路径为标准Windows格式(无多余斜杠),避免出现/c:/xxx这类混合格式——path.resolve会自动生成符合系统规范的路径。

内容的提问来源于stack exchange,提问作者Mat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 06:02:08