Laravel使用Sail开发时停止sail composer run dev后前端改动不持久是否为预期行为?
Laravel使用Sail开发时停止sail composer run dev后前端改动不持久是否为预期行为?
嗨,先给你吃个定心丸——这绝对是预期行为,刚重新捡起来Laravel有这种困惑太正常了,我当初刚用Inertia+Sail的时候也懵过一阵😂
先给你拆解下背后的逻辑:
- 你提到的
sail composer run dev大概率是笔误,composer主要用来管理PHP后端依赖包,前端代码的构建得用npm,正确的开发命令应该是sail npm run dev。这个命令启动的是开发模式实时编译服务:它会把你的Vue/Inertia代码实时编译,但编译后的文件并不会写到项目的public目录里,而是临时存放在服务器内存中,再通过热模块重载(HMR)实时同步到你的浏览器。这种方式的好处是编译速度极快,改完代码瞬间就能看到效果,但内存里的内容会在你终止命令时被释放,所以浏览器里的改动也就跟着消失了。 - 而
sail npm run build是生产构建命令,它会把你的前端代码做完整的编译、压缩、优化,然后把最终的产物实实在在写到项目的public/js和public/css目录下。这些文件是持久化在磁盘上的,哪怕你关掉所有服务,访问网站时服务器也会加载这些文件,改动自然就保留下来了。
给你两个实用小建议:
- 开发阶段就一直开着
sail npm run dev就行,不用纠结关闭后的问题,实时预览改动的效率会高很多。 - 要是需要让改动在关闭开发服务器后也能生效,或者准备部署到测试/生产环境时,再跑一遍
sail npm run build,它会生成适合线上环境的最优前端文件。
内容来源于stack exchange
相关产品推荐
相关产品推荐

