Laravel 8部署至Vercel报错:未找到dist输出目录求解决
Laravel 8 部署 Vercel 提示「No Output Directory named "dist" found」的解决方法
修正Vercel输出目录配置
进入Vercel项目的「Settings」→「General」→「Build & Development Settings」,将「Output Directory」改为public——Laravel的入口文件和静态资源默认都在这个目录下,Vercel不需要找dist。确保vercel.json配置正确
在项目根目录创建或修改vercel.json,添加以下配置:{ "builds": [ { "src": "public/index.php", "use": "@vercel/php" } ], "routes": [ { "src": "/(.*)", "dest": "/public/index.php" } ] }这个配置会告诉Vercel使用PHP运行时处理Laravel的入口文件,所有路由请求都转发到
public/index.php,无需生成dist目录。检查Build Command设置
在Vercel的Build Command中,使用Laravel专属的部署命令,比如:composer install --optimize-autoloader --no-dev && php artisan config:cache && php artisan route:cache && php artisan view:cache && npm run prod不要添加任何生成dist目录的前端编译命令(除非你自定义了资源输出路径,但Laravel默认不需要)。
前端资源编译的注意事项
如果你用了Laravel Mix编译前端资源,确保webpack.mix.js里的输出路径是默认的public/css和public/js,不要改成dist。执行npm run prod后,确认编译后的文件都出现在public目录下。
内容的提问来源于stack exchange,提问作者Ahmed Sheikh
相关产品推荐
相关产品推荐

