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

Laravel Vite配置:实现CSS与图片资源目录分离

Laravel Vite 分离资源目录配置方案

先修正你当前配置里的语法错误:input数组中'resources/css/app.css,'多了个逗号,会导致配置解析失败,改成'resources/css/app.css',即可。

要实现构建后分离图片和CSS资源,需要通过Vite的build.output配置项,针对不同类型资源指定输出路径,修改后的完整配置如下:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    build: {
        output: {
            // 配置图片、字体等静态资源的输出路径
            assetFileNames: (assetInfo) => {
                const extType = assetInfo.name.split('.').pop();
                // 匹配图片类扩展名,定向到images目录
                if (/png|jpe?g|gif|svg|webp/i.test(extType)) {
                    return 'assets/images/[name].[hash][extname]';
                }
                // 其他静态资源(如字体)可按需调整路径
                return 'assets/[name].[hash][extname]';
            },
            // 配置CSS文件的输出路径
            cssFileNames: 'assets/css/[name].[hash].css',
            // 指定JS文件的输出路径(保持默认的assets/js目录)
            chunkFileNames: 'assets/js/[name].[hash].js',
            entryFileNames: 'assets/js/[name].[hash].js',
        }
    },
    plugins: [
        laravel({
            input: [
                'resources/css/app.css',
                'resources/scss/app.scss',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
    ],
});

配置说明

  • assetFileNames:通过判断资源扩展名,把图片类资源定向到assets/images目录,其他静态资源可按需扩展规则调整路径。
  • cssFileNames:强制所有提取的CSS文件输出到assets/css目录。
  • chunkFileNames和entryFileNames:指定JS文件的输出路径,这里保持默认的assets/js目录,需要调整时直接修改即可。

执行npm run build构建后,public/assets目录下会生成images和css子目录,分别存放对应类型的资源文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:05:22