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

Laravel中如何让Vite忽略特定文件夹的资源打包处理

问题描述

我有一个Laravel项目,图片存放在public/images文件夹中,可通过https://[domain]/images/[fileName]直接访问。在基于Vite构建的Vue组件中引用了该路径的图片:

<template>
  ...
  <img src="/images/[fileName]" />
  ...
</template>

执行yarn build构建文件时,出现Vite错误:

[vite]: Rollup failed to resolve import "/images/[fileName]" from "[projectRoot]/resources/js/VueComponent.vue".
This is most likely unintended because it can break your application at runtime.

我清楚Vite试图处理该文件,但找不到其位置来纳入输出文件夹,想知道如何配置Vite使其忽略该图片路径的资源打包。

解决方案

方法1:配置Rollup忽略指定路径

在项目根目录的vite.config.js中,通过rollupOptions.external配置,让Rollup跳过对/images/开头路径的解析:

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

export default defineConfig({
    plugins: [
        laravel({
            input: 'resources/js/app.js',
            refresh: true,
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
    build: {
        rollupOptions: {
            external: [
                /^\/images\/.*/, // 匹配所有/images/开头的路径
            ],
        },
    },
});

正则表达式/^\/images\/.*/会匹配所有以/images/开头的资源路径,告诉Rollup不要尝试解析这些路径,直接保留原引用。

方法2:调整Vue模板的资源URL转换规则

如果方法1未生效,可修改Vue插件的transformAssetUrls配置,让Vite不对绝对路径的图片做解析处理:

vue({
    template: {
        transformAssetUrls: {
            includeAbsolute: false, // 禁用绝对路径的资源转换
        },
    },
}),

该配置会让Vite保留原src="/images/[fileName]"的引用,不会尝试去本地查找对应文件。

方法3:用环境变量拼接路径(可选)

也可以通过环境变量定义图片基础路径,避免Vite解析本地路径:

  1. 在项目根目录的.env文件中添加:
VITE_IMAGE_BASE_URL=/images/
  1. 在Vue组件中引用:
<template>
  ...
  <img :src="`${import.meta.env.VITE_IMAGE_BASE_URL}[fileName]`" />
  ...
</template>

这种方式Vite会将import.meta.env.VITE_IMAGE_BASE_URL替换为对应的值,不会把整个路径当作本地资源解析。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 08:35:52