Laravel10+Inertia+Vue内网应用Laragon部署流程优化咨询
Laravel 10 + Inertia + Vue 内部应用Laragon部署优化方案
问题背景
我正在为一家小企业开发基于Laravel 10 + Inertia + Vue的内部Web应用,并将其部署在公司某台电脑的Laragon服务器上。
当前操作流程:
- 在项目中执行
npm run build - 将文件复制到Laragon目录,目录结构如下:
- laragon - [ Laragon默认文件夹 ] - lib(存放所有Laravel相关文件) - [ Laravel应用文件夹 ] - public(已删除hot文件) - www - [ 复制lib/public下所有内容,修改index.php路径指向/lib文件夹,同时删除hot文件 ]
痛点:每次更新时,需手动执行npm run build,再将开发环境public/build复制到/lib/public和/www目录;Laravel代码可通过Git推送,但整体流程繁琐,希望简化部署步骤。
优化建议
1. 简化目录结构,消除重复复制
直接将Laravel项目的public目录关联到Laragon的www,无需复制两份文件:
- 在Windows命令行中,进入Laragon的
www目录,创建软链接指向Laravel项目的public文件夹:cd C:\laragon\www mklink /D internal-app C:\laragon\lib\[你的Laravel应用文件夹]\public - 这样Laragon会直接识别这个软链接作为站点根目录,不用修改
index.php,也省去了手动复制文件的步骤。
2. 编写自动化脚本,一键完成构建与同步
写一个简单的批处理脚本,替代手动执行构建和复制操作:
- 新建
deploy.bat文件,内容如下:@echo off REM 切换到开发环境的Laravel项目目录 cd D:\dev\my-laravel-app REM 执行前端构建 npm run build REM 同步构建后的资源到Laragon的项目目录 xcopy /E /Y public\build C:\laragon\lib\[你的Laravel应用文件夹]\public\build echo 部署完成! pause - 每次更新时,双击运行这个脚本即可完成所有操作。
3. 利用Git钩子实现自动部署
如果开发环境和Laragon服务器是同一台电脑,或者可以通过Git同步代码到Laragon的lib目录:
- 在Laragon的
lib/[你的Laravel应用文件夹]仓库的.git/hooks目录下,新建post-receive.bat文件:@echo off cd C:\laragon\lib\[你的Laravel应用文件夹] REM 拉取最新代码 git pull REM 执行前端构建 npm run build echo 自动部署完成! - 这样你在开发环境推送到这个仓库后,Laragon端会自动拉取代码并构建前端资源,完全省去手动操作。
4. 自定义Mix输出路径(适配现有结构)
如果想保留当前目录结构,可以修改Laravel Mix的配置,直接将构建资源输出到目标目录:
- 编辑项目根目录的
webpack.mix.js,修改输出路径:mix.js('resources/js/app.js', '../../laragon/www/build') .vue() .postCss('resources/css/app.css', '../../laragon/www/build', [ // 保留原有的postCss配置 ]); - 执行
npm run build时,资源会直接生成到Laragon的www目录,不用手动复制。
内容的提问来源于stack exchange,提问作者Jose
相关产品推荐
相关产品推荐

