结账页面白屏或一直转圈,控制台出现 mixins.js 404,说明 RequireJS 启动链在加载混入配置前就中断。此时业务接口可能完全正常,反复清浏览器缓存不会生成缺失文件。先把 404 URL 精确抄下来,因为其中的 area、theme、locale 和静态版本号决定了部署命令。
拆解 404 URL
示例路径:
/static/version1742400000/frontend/Vendor/theme/zh_CN/mage/requirejs/mixins.js
依次得到:静态版本、frontend、主题、zh_CN 和目标文件。到服务器检查去掉 version... 后的物理路径:
ls -l pub/static/frontend/Vendor/theme/zh_CN/mage/requirejs/mixins.js
cat pub/static/deployed_version.txt 2>/dev/null
php bin/magento deploy:mode:show
文件存在但 HTTP 仍 404
这通常是 Nginx/Apache 重写、软链接权限或多节点不同步。绕过 CDN 请求具体节点:
curl -sSI -H 'Host: shop.example.com' \
http://10.0.2.15/static/version1742400000/frontend/Vendor/theme/zh_CN/mage/requirejs/mixins.js
namei -l pub/static/frontend/Vendor/theme/zh_CN/mage/requirejs/mixins.js
若一台节点 200、另一台 404,修发布同步和负载均衡摘挂流程。若磁盘文件存在但所有节点 404,检查静态文件 location 是否正确去掉 version 前缀,以及 Web 用户能否穿过每一级目录。
文件确实不存在:按实际主题与语言部署
生产模式在维护窗口执行精确部署:
php bin/magento maintenance:enable
rm -rf pub/static/frontend/Vendor/theme/zh_CN \
var/view_preprocessed/pub/static/frontend/Vendor/theme/zh_CN
php bin/magento setup:static-content:deploy -f zh_CN en_US \
--theme Vendor/theme --area frontend
php bin/magento cache:clean config full_page
php bin/magento maintenance:disable
删除范围必须是已核对的具体主题/语言目录,不能在路径变量为空时运行。多节点应由同一构建产物发布,不要在每台机器独立生成可能不同的静态版本。
部署命令成功却没有 mixins.js
检查生成日志中是否有主题继承、语言包或文件权限错误:
php bin/magento setup:static-content:deploy -f zh_CN \
--theme Vendor/theme -vvv 2>&1 | tee /tmp/static-deploy.log
grep -n -Ei 'error|exception|permission|mixins' /tmp/static-deploy.log
再搜索自定义 requirejs-config.js 是否语法错误或声明了不存在的 mixin:
find app/code app/design -name requirejs-config.js -print
grep -R --line-number "mixins" app/code app/design
打开结账页后,Network 中 mixins.js、requirejs-config.js 和关键 checkout bundle 都应返回 200,Console 无 RequireJS 模块错误。还要从第二台 Web 节点和无痕窗口各测一次,避免只验证了本机缓存。

