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

Vite开发Vue项目时public目录文件解析错误解决方案

项目目录结构
项目目录结构如上图所示。

基础配置

项目vite.config.ts配置代码如下:

import { defineConfig } from "vite"
import { fileURLToPath, URL } from "url"
import vue from "@vitejs/plugin-vue"

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL("./src", import.meta.url)),
    },
  },
})

报错现象

启动dev开发服务器时出现如下报错:
报错截图

具体触发场景:

  • 项目/public/preview目录下存在多个子文件夹,每个子文件夹内包含独立的index.html文件,以及对应assets目录下存储的.js等静态资源
  • 这些文件并未在主应用中引入,依然触发了上述报错
  • 初步排查判断:Vite将资源查找路径错误指向了/src/assets目录,而非子页面自身目录下的assets文件夹

/public/preview目录下所有html文件的初始代码格式如下:

<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta http-equiv="Content-Security-Policy"
content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: gap: content:">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, viewport-fit=cover">

<meta name="theme-color" content="#fff">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<title>Test</title>

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="apple-touch-icon" href="icons/apple-touch-icon.png">
<link rel="icon" href="icons/favicon.png">

<style>
</style>
<!-- built styles file will be auto injected -->
<script type="module" crossorigin src="assets/index.4277377f.js"></script>
<link rel="stylesheet" href="assets/index.4ceaebd1.css">
</head>

<body>
 <div id="app"></div>
 </body>

 </html>

报错原因

HTML中使用assets/xxx这类省略前缀的路径写法时,Vite开发服务器会默认从站点根路径解析资源地址,不会相对于当前HTML文件所在目录查找资源,因此会误去项目根目录(含配置的@对应的src目录)下查找assets资源,找不到对应文件就抛出404报错。

修复方案

修改子页面内所有静态资源的引用路径,在路径开头添加./前缀,明确指定资源相对于当前HTML文件所在目录查找即可解决问题。

  • 原错误写法示例:src="assets/index.4277377f.js"
  • 修复后正确写法:src="./assets/index.4277377f.js"

注意同目录下的CSS、图标等其他静态资源引用也需要同步补全./前缀,例如将href="assets/index.4ceaebd1.css"改为href="./assets/index.4ceaebd1.css",避免同类报错。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 03:51:27