如果你之前做 Laravel 项目一直用的是 Laravel Mix,切到 Vite 时最常见的问题不是“能不能用”,而是“项目里到底该改哪几处”。这篇文章就按实际接入流程来整理:先确认依赖,再看 vite.config.js 怎么声明入口,接着在 Blade 模板里加载资源,最后区分开发阶段和生产构建的使用方式,便于你快速判断项目是否已经接入正确。
安装 Vite 插件
从现在的 Laravel 默认项目开始,Vite 已经是官方推荐的静态资源构建方案,对应插件是 laravel-vite-plugin。通常它已经出现在项目默认的 package.json 依赖里,因此不需要额外手动新增包名,先把前端依赖安装完整即可。
npm install
这一步的前提也很明确:你需要先有一个可运行的 Laravel 项目,并准备好 PHP 与 Node.js 环境。缺少这两部分,后面的开发服务和构建命令都无法正常执行。
配置 Vite 入口文件
Laravel 项目根目录下的 vite.config.js,就是整个 Vite 接入的核心配置文件。最关键的一点,是在这里声明要交给 Vite 处理的入口资源。

下面这份默认配置里,入口文件就是 resources/css/app.css 和 resources/js/app.js:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [
laravel([
'resources/css/app.css',
'resources/js/app.js',
]),
],
});
这意味着,前端样式和脚本会从这两个入口开始被打包、监听和构建。如果你的项目后续拆分出更多页面入口,也通常是在这一层继续扩展,而不是直接改 Blade 模板中的路径规则。
在 Blade 页面中引入资源
配置好入口后,还需要让 Laravel 视图真正加载这些资源。在 Blade 文件里,官方提供的是 @vite 指令,它会根据当前环境自动处理开发期和构建后的资源引用。

以 resources/views/welcome.blade.php 为例,可以这样引入:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel</title>
@vite('resources/css/app.css')
</head>
<body id="app">
Hello Vite
</body>
@vite('resources/js/app.js')
</html>
这里分别把 app.css 和 app.js 挂到页面中。写法看起来简单,但它解决的是不同环境下资源地址切换的问题:开发时走 Vite 服务,生产时走构建产物,因此不建议再手动写死静态文件路径。
开发调试与生产构建怎么用
接入完成后,真正日常会用到的就是两条命令:一条用于开发,一条用于上线前构建。
开发阶段
在本地开发时,运行下面的命令即可启动 Vite。它会监听文件变化,并在修改后自动更新资源:
npm run dev
这一步适合联调页面、修改样式和脚本时使用,反馈速度会比传统打包流程更直接。
生产环境
到了部署或发布阶段,则需要提前把静态资源构建成真正可交付的文件:
npm run build
执行后,项目会生成用于生产环境的静态资源产物。也就是说,npm run dev 负责开发期体验,npm run build 负责上线前准备,这两者的职责不要混用。
使用 Vite 的核心思路
把 Laravel 项目切到 Vite,本质上只需要抓住四个点:依赖已安装、入口在 vite.config.js 中声明、Blade 里通过 @vite 引入、开发和生产分别使用不同命令。理解了这条链路,后续无论是继续扩展前端资源,还是检查项目接入是否正常,都会更容易定位问题。
对于已经习惯 Laravel Mix 的项目来说,这不是一次复杂迁移,但确实是 Laravel 当前默认资源构建方式的变化。把这套流程走通后,后面维护静态资源会顺手很多。













