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

如何使用Vite构建可在页面<head>引用的资源文件及正确配置?

Vite 正确使用方式及单文件输出配置

首先,你完全没必要手动写环境判断代码——Laravel 集成的 @vite 指令本身就会自动区分环境:

  • 本地开发时,它会指向 Vite 开发服务器的热更新资源
  • 生产环境下,它会自动加载你构建后的静态资源文件

直接在模板里保留这一行就行,不用写 @if 分支:

@vite(['resources/sass/app.scss', 'resources/js/app.js'])

如果你想实现类似 Webpack 那样,把所有资源打包成固定的 app.css 和 app.js(不带哈希后缀),只需修改项目根目录的 vite.config.js,配置 Rollup 的输出规则:

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

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/sass/app.scss',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
    ],
    build: {
        rollupOptions: {
            output: {
                // 配置 JS 输出文件名
                entryFileNames: 'assets/app.js',
                // 配置 CSS 输出文件名
                assetFileNames: 'assets/app.css',
                // 如果有代码分割的 chunk,也可以统一命名
                chunkFileNames: 'assets/chunk.js',
            }
        }
    }
});

配置完成后,运行 npm run build,Vite 就会把打包好的 app.css 和 app.js 输出到 public/assets 目录下,@vite 指令会自动引用这些文件,完全不用你手动写 <link> 和 <script> 标签。

另外补充一点:如果想保留哈希后缀(利于浏览器缓存更新),可以把文件名改成带 [hash] 的格式,比如 entryFileNames: 'assets/app.[hash].js',@vite 同样会自动处理资源引用,不需要你手动修改模板路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:57:52