问题
使用官方前端编译包 Laravel Vite 的时候,在开发阶段npm run dev
没有任何问题,能正常加载前端资源。
开发完毕后 npm run build
,成功构建了前端资产,在 public/build
目录下有生成编译后的文件,但是页面还是在请求 dev
命令下的热重载文件。
原因
执行命令 npm run dev
启动热更新时会在Laravel
项目根目录 public
下生成 hot
文件。
Laravel
是根据这个 hot
文件存在与否来判断是否是开发环境还是生产环境(加载热更新资源还是加载编译后的资源)
有时候没有正常 ctrl + c
关闭热更新模式,hot
文件没有正常删除。
此时应用还是不会加载编译后的文件,但是又没有启动热更新模式,所以网站无法正常运行。
解决方法
删除 public
下的 hot
文件,网站恢复正常。