Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用

发布时间 - 2025-12-17 00:00:00    点击率:
Laravel项目中使用Vite可提升前端编译效率,相比Laravel Mix启动更快、热更新更迅速;从Laravel 9.x起默认集成Vite,需安装vite及对应插件如@vitejs/plugin-vue,并配置vite.config.js文件设置别名、输出路径和开发服务器;通过@vite指令在Blade模板中引入资源,实现开发与生产环境的无缝切换。

在 Laravel 项目中使用 Vite 进行前端资源编译,相比传统的 Laravel Mix(基于 Webpack)更加高效和现代化。Vite 利用原生 ES 模块和浏览器支持,实现了更快的开发服务器启动和热更新。以下是 Laravel 中配置和使用 Vite 的完整指南。

安装与初始化 Vite

从 Laravel 9.x 开始,新项目默认使用 Vite。如果你的项目还未配置,可以手动安装:

  • 运行命令安装 Vite 及相关依赖:
    npm install --save-dev vite @vitejs/plugin-vue @vitejs/plugin-react
  • 安装 Laravel 提供的 Vite 辅助包:
    composer require tightenco/ziggy(可选,用于路由生成)
  • 创建 vite.config.js 配置文件

配置 vite.config.js

在项目根目录创建 vite.config.js,根据你使用的前端框架(如 Vue、React 或纯 JavaScript)进行配置。

例如,使用 Vue 3 的配置如下:
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';

export default defineConfig({
  plugins: [vue()],
  resolve: {
    alias: {
      '@': path.resolve(__dirname, 'resources/js'),
    },
  },
  build: {
    outDir: 'public/build',
    emptyOutDir: true,
    manifest: true,
  },
  publicDir: 'public',
  server: {
    host: 'localhost',
    port: 5173,
    hmr: {
      host: 'localhost',
    },
  },
});

关键点说明:

  • alias:设置路径别名,方便 JS/TS 中导入组件
  • build.outDir:编译后文件输出到 public/build
  • server.host/port:开发服务器地址

Laravel 模板中引入资源

Laravel 提供了 @vite 指令来加载开发或生产环境下的资源文件。

在 Blade 模板中使用:
<@vite(['resources/js/app.js', 'resources/css/app.css'])

该指令会自动判断环境:

  • 开发模式下,引入 Vite 开发服务器(http://localhost:5173)的资源
  • 生产模式下,加载构建后的 CSS 和 JS 文件(通过 manifest.json 查找)

运行开发与构建命令

package.json 中配置常用脚本:

"scripts": {
  "dev": "vite",
  "build": "vite build",
  "preview": "vite preview"
}

常用命令:

  • npm run dev:启动 Vite 开发服务器,支持热重载
  • npm run build:编译资源到 public/build 目录
  • npm run preview:预览生产构建效果

基本上就这些。Laravel + Vite 的组合让前端开发更轻快,配置清晰,适合现代 JS 框架集成。注意确保 .env 中的 APP_URL 与 Vite 开发服务器能正常通信,避免跨域问题。不复杂但容易忽略。


# vue  # react  # javascript  # laravel  # java  # js  # 前端  # composer  # vite  # npm 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何为不同团队 ID 动态生成多个独立按钮  利用vue写todolist单页应用  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  制作公司内部网站有哪些,内网如何建网站?  如何在宝塔面板中修改默认建站目录?  微信推文制作网站有哪些,怎么做微信推文,急?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  C#如何调用原生C++ COM对象详解  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  原生JS获取元素集合的子元素宽度实例  IOS倒计时设置UIButton标题title的抖动问题  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何用美橙互联一键搭建多站合一网站?  网页设计与网站制作内容,怎样注册网站?  javascript中的try catch异常捕获机制用法分析  Linux后台任务运行方法_nohup与&使用技巧【技巧】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  PHP 500报错的快速解决方法  网站制作企业,网站的banner和导航栏是指什么?  如何用虚拟主机快速搭建网站?详细步骤解析  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  iOS UIView常见属性方法小结  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  如何在IIS中新建站点并解决端口绑定冲突?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  JavaScript中的标签模板是什么_它如何扩展字符串功能  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel如何处理CORS跨域请求?(配置示例)  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  网站建设整体流程解析,建站其实很容易!  EditPlus 正则表达式 实战(3)  java中使用zxing批量生成二维码立牌  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  大型企业网站制作流程,做网站需要注册公司吗?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何用免费手机建站系统零基础打造专业网站?  Android 常见的图片加载框架详细介绍  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  高防服务器租用如何选择配置与防御等级?