Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Livewire 404:获取http://localhost/livewire/livewire.js net::ERR_中止404(未找到)_Php_Html_Laravel_Laravel Livewire - Fatal编程技术网

Php Livewire 404:获取http://localhost/livewire/livewire.js net::ERR_中止404(未找到)

Php Livewire 404:获取http://localhost/livewire/livewire.js net::ERR_中止404(未找到),php,html,laravel,laravel-livewire,Php,Html,Laravel,Laravel Livewire,我正在学习如何使用livewire和laravel,我试图通过输入绑定一些数据 我写了这段代码: home.blade.php: <html> <head> <title>Home</title> @livewireStyles </head> <body> @livewire("hello-world") @livewireScripts </body>

我正在学习如何使用livewire和laravel,我试图通过输入绑定一些数据 我写了这段代码:

home.blade.php:

<html>
<head>
    <title>Home</title>

    @livewireStyles
</head>
<body>
    @livewire("hello-world")

    @livewireScripts
</body>
</html>
<div>
    <input wire:model="nome" type="text">
    <br>
    Hello {{ $nome }}
</div>
hello-world.blade.php:

<html>
<head>
    <title>Home</title>

    @livewireStyles
</head>
<body>
    @livewire("hello-world")

    @livewireScripts
</body>
</html>
<div>
    <input wire:model="nome" type="text">
    <br>
    Hello {{ $nome }}
</div>
HelloWorld.php:

<?php

namespace App\Http\Livewire;

use Livewire\Component;

class HelloWorld extends Component
{
    public $nome = 'Name';
    public function render()
    {
        return view('livewire.hello-world');
    }
}

它在Apache2.4上运行 但如果在加载页面时打开浏览器控制台,则会得到:

索引:29http://localhost/livewire/livewire.js?id=c1db26b321e994f87254 net::ERR_中止404未找到

索引:35未捕获引用错误:未定义Livewire 索引:35

我正在关注官方文档和屏幕广播,我试图一步一步地遵循所有的说明,但也没有奏效。 也许我在安装过程中做错了什么,但我不这么认为,因为我刚刚点击了:

编写器需要livewire/livewire

所以应该没问题。 有什么线索吗


GitHub repo:

我也在学习Laravel Livewire,我也遇到了同样的问题。 我的问题通过跑步解决了

php artisan供应商:publish-force-tag=livewire:assets


您可以在github上查看此链接:

我也在学习Laravel Livewire,我也遇到了同样的问题。 我的问题通过跑步解决了

php artisan供应商:publish-force-tag=livewire:assets


您可以在github上查看此链接:

虽然Zenabus.dev的答案现在列在Livewire文档中作为最佳实践,但我觉得这只是一个解决办法,并没有说明为什么需要这样做,所以我想我会对此进行详细说明,并描述404的常见原因以及您有哪些其他选择

默认情况下,Livewire为Livewire/Livewire.js注册一个路由,并要求该URL的请求通过Laravel路由。LivewireJavaScriptAssets控制器随后将从供应商目录中提取该文件并将其提供给用户

如果在开发系统上一切正常,并停止像我一样在生产环境中工作,那么您的服务器/vhost配置Apache、Nginx。。。为Javascript文件设置了一个特殊的处理集,它将干扰此过程,并将尝试直接从您的文档根目录提供这些文件,有效地绕过Laravel

请检查您的服务器配置,并确保确实通过public/index.php文件通过Laravel路由

如果不是,则可以删除对js文件的任何特殊处理,确保仅当文件实际存在时才应用规则,或者如果不能这样做,则可以按照中所述发布资产


作为一个侧节点,我个人不会像文档中描述的那样在自动加载后转储上添加publish命令,而是在更新后cmd上添加publish命令。我不喜欢在生产服务器上发布资产,我宁愿只在需要时在开发人员系统上发布资产,然后将公共文件推送到存储库。

而Zenabus.dev的答案现在列在Livewire文档中作为最佳实践,我觉得这只是一个解决办法,并没有说明为什么需要这样做,所以我想我会详细说明一下,并描述一下404的常见原因以及您还有哪些其他选择

默认情况下,Livewire为Livewire/Livewire.js注册一个路由,并要求该URL的请求通过Laravel路由。LivewireJavaScriptAssets控制器随后将从供应商目录中提取该文件并将其提供给用户

如果在开发系统上一切正常,并停止像我一样在生产环境中工作,那么您的服务器/vhost配置Apache、Nginx。。。为Javascript文件设置了一个特殊的处理集,它将干扰此过程,并将尝试直接从您的文档根目录提供这些文件,有效地绕过Laravel

请检查您的服务器配置,并确保确实通过public/index.php文件通过Laravel路由

如果不是,则可以删除对js文件的任何特殊处理,确保仅当文件实际存在时才应用规则,或者如果不能这样做,则可以按照中所述发布资产

作为一个侧节点,我个人不会像文档中描述的那样在自动加载后转储上添加publish命令,而是在更新后cmd上添加publish命令。我不喜欢在生产服务器上发布资产,我宁愿只在需要时在开发人员系统上这样做,然后将公共文件推送到存储库。

您可以尝试以下方法:

运行:php artisan livewire:发布

然后打开config/livewire.php 将'asset\u url'=>null更改为'asset\u url'=>'http://localhost“

您可以试试这个:

运行:php artisan livewire:发布

然后打开config/livewire.php
将'asset\u url'=>null更改为'asset\u url'=>'http://localhost“

在我的例子中,wepe的评论是有效的,只是没有“asset\u url”=>”http://localhost“我放了一个”
sset_url'=>url'/'

在我的例子中,wepe的评论是有效的,只是没有“asset_url'=>”http://localhost“我将‘asset_url’=>url'/'

让我们深入研究并找到解决方案。” 您可以从“网络”选项卡查看您的请求url

得到http://localhost/livewire/livewire.js net::ERR_中止

您的基本url 得到http://localhost/

应该是

得到http://localhost/your_project_directory

现在更正url 得到http://localhost/your_project_directory/livewire/livewire.js

得到http://localhost/your_project_directory/public/livewire/livewire.js

解决方案:

app/config/livewire.php

“资产url”=>env“应用程序url”http://localhost",

同时在.env文件中相应地更新APP_URL

您应该清除缓存和配置
那就试试吧,我希望这能解决问题让我们深入研究并找到解决办法 您可以从“网络”选项卡查看您的请求url

得到http://localhost/livewire/livewire.js net::ERR_中止

您的基本url 得到http://localhost/

应该是

得到http://localhost/your_project_directory

现在更正url 得到http://localhost/your_project_directory/livewire/livewire.js

得到http://localhost/your_project_directory/public/livewire/livewire.js

解决方案:

app/config/livewire.php

“资产url”=>env“应用程序url”http://localhost",

同时在.env文件中相应地更新APP_URL

您应该清除缓存和配置
然后尝试我希望这将解决问题

以下命令将资产发布到您的公用文件夹,并应解决404问题

php artisan vendor:publish --force --tag=livewire:assets

@livewireScripts blade指令仍然是必需的,但它会自动从/public/vendor/livewire/livewire.js正确地获取资产。下面的命令将资产发布到您的公用文件夹中,应该可以解决404问题

php artisan vendor:publish --force --tag=livewire:assets

@livewireScripts blade指令仍然是必需的,但它会自动正确地从/public/vendor/livewire/livewire.js中获取资产。请将代码复制并粘贴到您的问题中,而不是链接到它。很抱歉,我无意中发布了一个不完整的问题。你的应用程序运行的帖子是什么意思?好的,先生,我发布了@RWD您使用的是什么版本的Livewire?您的应用程序正在运行什么帖子。?请将代码复制并粘贴到您的问题中,而不是链接到它。很抱歉,我无意中发布了一个不完整的问题。你的应用程序运行的帖子是什么意思?好的,先生,我发布了@RWD您使用的是哪个版本的Livewire?编辑:这在生产中不起作用,最好在开发模式下使用完整路径编辑:这在生产中不起作用,最好在开发模式下使用完整路径这会获取Livewire.js仍然缺失的资产,我使用的是livewire.js.map文件,而这会获取livewire.js仍然丢失的资产,我使用的是livewire.js.map文件