Laravel Mix,在npm运行生产期间无法找到混合文件:/css/xxxxx.css

时间:2018-09-07 07:41:30

标签: laravel webpack

当我完成任务时,我没有提交webpack打包的资产(例如CSS,JS),只提交了/resources/assets/*到git,并在生产机器上提取了提交内容,同时打包了所需的js和CSS一点时间来最小化CSS和js。

这时,许多用户请求该页面,并且某些页面包含CSS,例如<link rel="stylesheet" href="{{ mix('/css/xxxxx.css') }}"/> ,将导致日志中出现异常,例如Unable to locate Mix file: /css/xxxxx.css

如何避免这种情况发生?

1 个答案:

答案 0 :(得分:0)

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

另一方面,即使您使用envoyer,也不建议您在生产服务器上运行npm run prod 。将所有节点文件都存储在服务器上没有任何意义,并且通过运行节点命令会浪费不必要的服务器处理能力。我建议在本地计算机上运行节点命令,并将webpack吐出的最终编译文件推送到服务器。无论如何,您需要先将CSS和JS的生产版本在本地计算机上按预期工作,然后再将其部署到服务器上。