Laravel 与 Vite
Vite 是一款高性能的前端构建工具。开发时提供即时反映改动的热模块替换(HMR),生产构建时生成经过优化的资源。 Laravel 9 以后 Vite 成为标准前端构建工具,通过laravel-vite-plugin 与 Laravel 集成。这个插件的主要职责包括:
- 管理入口文件
- 提供开发服务器的 HMR 支持
- 与
@vite()Blade 指令联动 - 生产构建时对资源做版本化(缓存破坏)
如果你在使用 Laravel Breeze 等 Laravel 起步套件,Vite 和 Tailwind 的配置已经内置。本页介绍从零配置的做法。
安装与配置
检查 Node 是否安装
Vite 需要 Node.js(16 及以上)和 npm。可通过下面命令确认。安装依赖
新装的 Laravel 项目package.json 中已经包含 vite 与 laravel-vite-plugin。用下面的命令安装依赖。
vite.config.js 配置
项目根目录会生成vite.config.js。你需要在其中指定入口文件(打包入口)。
启动开发服务器
开发时使用npm run dev 启动 Vite 开发服务器。修改文件后浏览器会自动更新(HMR)。
composer run dev 会同时启动 php artisan serve 和 npm run dev。Blade 视图自动刷新
配置refresh: true 后,保存 Blade 视图或路由文件时浏览器会自动刷新。
refresh: true 后,以下目录的变更会被监听:
resources/views/**app/Livewire/**routes/**lang/**
生产构建
部署到生产环境前执行npm run build。资源会被打包并加上版本号,输出到 public/build/。
manifest.json 记录了文件名和哈希的对应关系,@vite() 指令会读取它来加载正确的文件。
从 Blade 加载资源
在布局的<head> 中加入 @vite() Blade 指令。
@vite() 指令会根据开发和生产两种模式自动切换行为。
配置 JavaScript / CSS 入口
JavaScript 配置
resources/js/app.js 是主入口,可以从这里再导入其他模块。
CSS 配置
resources/css/app.css 中写全局样式。
多个入口
需要为管理后台等页面分别打包时,可以指定多个入口。与 Tailwind CSS 集成
Tailwind CSS v4 以后作为 Vite 插件集成。1
安装 Tailwind
2
在 vite.config.js 中添加插件
3
在 CSS 中导入 Tailwind
使用 Tailwind CSS v3 时需要
tailwind.config.js 与 postcss.config.js。而在最新的 Tailwind CSS v4 中这些文件都不再需要。别名配置
laravel-vite-plugin 自动配置了 @ 别名,指向 resources/js 目录。
resolve.alias 中配置。
各框架的配置
Vue
React
@viteReactRefresh 指令放在 @vite 之前。
静态资源的处理
Blade 模板中引用的图片、字体也可以通过 Vite 版本化。用assets 选项指定目录。
Vite::asset() 获取带版本的 URL。
小结
下一步
缓存
了解如何使用 Laravel 的缓存能力进一步提升应用性能。