首页 > 解决方案 > 未捕获的异常:无法找到混合文件

问题描述

我正在尝试在本地系统中运行 laravel 应用程序。我已经关注了https://gist.github.com/hootlex/da59b91c628a6688ceb1链接。我运行命令php artisan serve命令,当我浏览它时,会产生错误

PHP Fatal error:  Uncaught Exception: Unable to locate Mix file: /css/vendor.css. Please check your webpack.mix.js output paths and try again. in /var/www/html/laravel-app/app/helpers.php:439

在 helpers.php 的指定行中,它有

 if (! isset($manifest[$path])) {
        throw new Exception(
            "Unable to locate Mix file: {$path}. Please check your ".
            'webpack.mix.js output paths and try again.'
        );
    }

公共/混合清单.json

{
  "/mix.js": "/mix.js"
}

我没办法解决。请帮忙。谢谢

标签: phplaravelwebpack

解决方案


您正在加载的刀片文件显然有mix('/css/vendor.css')调用。你要么注释掉这一行,要么安装 npm 然后构建你的资产。

您的清单文件没有,/css/vendor.css但如果您检查刀片文件 ( views),您会看到您正在调用mix('/css/vendor.css'). 因此,如果您找到并注释掉这一行,您的问题将得到解决。

理想情况下,mix()用于加载由 webpack 构建的资产。然后它将为您处理版本控制字符串。文档中详细说明了如何使用混合。我将避免在这里讨论这个问题。

您已经通过运行npm run dev或类似的命令构建了资产。然后清单文件不包含这些资产映射。而且您的public目录也没有这些资产。然后可以安全地假设您可以mix从刀片 ( views) 文件中删除这些调用。

如果您在目录中构建了资产,那么您可以按功能public加载这些资产。assets

最后,您应该先了解您的资产,然后再将它们加载到您的网站。我认为您不知道这些资产来自何处,因此您不应该首先加载它们。


推荐阅读