Laravel mix,在npm run production期间找不到混合文件:/css/xxxxx.css

问题描述 投票:0回答:1

当我完成任务时,我没有提交webpack打包资产,比如CSS,JS,只提交/resources/assets/*到git,并提取生产机器上的提交,在打包js和CSS期间需要一点时间来缩小CSS和JS。

此时很多用户请求页面,而某些页面包含像<link rel="stylesheet" href="{{ mix('/css/xxxxx.css') }}"/> 这样的CSS会在日志中引起异常,如Unable to locate Mix file: /css/xxxxx.css

我怎么能避免这种情况发生?

laravel webpack
1个回答
1
投票

不建议在未处于维护模式的生产服务器上运行composer installnpm run prod。如果您需要零停机时间部署,请查看Envoyer。它是由创建Laravel的同一个人制作的。

另外,即使您使用envoyer,也不建议在生产服务器上运行npm run prod。将所有节点文件放在服务器上是没有意义的,并且您将通过运行节点提交来浪费不必要的服务器处理能力。我建议在本地计算机上运行节点命令,并将webpack吐出的最终编译文件推送到服务器。无论如何,在将其部署到服务器之前,您需要检查CSS和JS的生产版本是否在本地计算机上按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.