【问题标题】:The Mix manifest does not exist混合清单不存在
【发布时间】:2018-08-05 00:18:14
【问题描述】:

我用这个Laravel-Vue SPA starter project template 创建了一个简单的 laravel 项目,并将这个项目上传到了 ubuntu 服务器。所有设置正确,但我运行此项目返回此错误“混合清单不存在。(查看:/var/www/html/project/resources/views/index.blade.php)”。

请任何人帮助我。我是 laravel 的新手。

【问题讨论】:

  • 我认为你需要运行控制台命令npm run dev 或者如果你没有node_module 文件运行npm install 然后npm run dev
  • 已经安装 npm install 和 composer install

标签: php laravel vue.js vuex laravel-mix


【解决方案1】:

我认为这是因为您将 laravel 文件与公用文件夹分开。

public_path() 返回错误的路径。

一定要试试dd(public_path())

如果这是错误的,您必须更正 index.php 文件中的路径并添加以下代码:

$app->bind('path.public', function() {
return __DIR__;
});

我有同样的问题,发现问题是这样的。

也许回答这个问题已经晚了,但它可能对其他人有所帮助。

【讨论】:

    【解决方案2】:

    我有同样的错误。这为我解决了。 npm run production

    我尝试了npm run dev,但它从未创建过manifest.js

    【讨论】:

    • 谢谢。为我工作,应该是选择的答案。
    【解决方案3】:

    如果您没有node_modules 文件夹,请运行npm install,然后运行npm run dev

    mix() 辅助函数默认在目录/public/manifest-json.js 中查找清单 json 文件。检查此文件是否存在。

    【讨论】:

    • 对我来说 manifest-json.js 在我的工作版本中不存在。 public 文件夹中有一个 mix-manifest.json,public/js 文件夹中有一个 manifest.js,但是将它们复制到我损坏的环境并不能解决任何问题。
    【解决方案4】:

    只需将mix(css/app.css) 更改为{!! asset('css/app') !!}

    【讨论】:

      【解决方案5】:

      也许它对某人有用,当我尝试访问此 URL example.com/nova/login 时,我发现此错误 The Mix manifest does not exist. (View: example/nova/resources/views/auth/layout.blade.php)

      在我的情况下执行下一个命令是错误的:

      npm run production

      npm run dev

      php artisan vendor:publish --provider="Laravel\Horizon\HorizonServiceProvider"

      等等。

      我只是在恢复项目后忘记安装 Nova 库,php artisan nova:install

      【讨论】:

        【解决方案6】:

        你应该创建一个 storage/app/public 的符号链接

        php artisan storage:link
        

        【讨论】:

          【解决方案7】:

          好的,所以这里的大多数人都提供了解决方案,但他们没有解释它,基本上最好的做法是,如果你使用 Laravel 的共享主机,你将项目文件夹放在 public_html 之外,然后将内容放在 public 中,你将它们放在 public_html 中。

          所以你需要做的是不要删除项目根目录下的公用文件夹,只放
          mix-manifest.json
          项目根目录下的公用文件夹中的文件,这将解决此问题

          【讨论】:

            【解决方案8】:

            在 App\Providers\AppServiceProvider.php 中:

            public function register()
            {
                /**
                 * Set the public path.
                 */
                $this->app->bind('path.public', function() {
                     return 'public path';
                });
            }
            

            【讨论】:

            • 感谢您的回答。您确定“h151778”是线程所有者服务器上的文件夹吗?
            • 不,我弄错了,这只是我的一个样本
            猜你喜欢
            • 2020-11-30
            • 2019-06-20
            • 2017-12-22
            • 1970-01-01
            • 1970-01-01
            • 2021-03-12
            • 1970-01-01
            • 2021-10-16
            • 1970-01-01
            相关资源
            最近更新 更多