【问题标题】:How to use laravel livewire without php artisan serve?如何在没有 php artisan serve 的情况下使用 laravel livewire?
【发布时间】:2021-06-22 00:23:37
【问题描述】:

我有一个关于如何使用 laravel livewire 的问题,因为我有自己的理由不使用 PHP artisan serve、Nginx、vhosts 或任何 PHP 服务。使用 .htaccess 像普通的原始 PHP 一样正常访问项目(仅用于开发阶段)。

首先我的 laravel 设置, 我正在使用 Laravel 8,我在没有 PHP artisan serve 的情况下访问 laravel 项目的方式是使用 .htaccess,如下所示:

<IfModule !mod_rewrite.c>
   deny from all
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_URI} /$
RewriteRule ^ %{REQUEST_URI}index.php [L,R=301]

RewriteCond %{REQUEST_URI} $
RewriteRule ^(.*)$ public/$1 [L,QSA]

<Files .env>
    Order allow,deny
    deny from all
</Files>
</IfModule>

有了这个,我可以访问我的项目,并且 URL 看起来像这样

http://localhost/Laravel/v8/suhv2livewire/public/index.php/login

在我接下来安装 livewire 之前一切正常。安装良好,检测到火线。但是当我尝试提交表单时,它会给我这 3 个错误

Uncaught (in promise) SyntaxError: Unexpected token

根据我对这些错误的理解,它返回 HTML 而不是 JSON,在我的情况下应该是 404(只是我的假设)

404 未找到

此路由不支持 GET 方法。支持的方法:POST。

通过使用 PHP artisan serve,它可以毫无问题地工作并且零配置。但是,如果没有 PHP artisan 服务,这对我来说就成了一个问题和头疼的问题。我阅读了有关asset_url 的文档并尝试进行更改,例如:

'asset_url' => 'http://localhost/Laravel/v8/suhv2livewire'

但仍然无法正常工作,出现上面显示的 3 个错误。

我在 StackOverflow 上发现了一个类似的问题,但没有工作,其他人说关于 Nginx 等等。我不想那样。

如果你们找到任何解决方案,请提供帮助。如果我可以像使用任何其他 javascript 文件一样使用 livewire 会更好

require('livewire')

像 alpinejs。

让我烦恼的是,我不知道我的 .htaccess、livewire asset_url 或任何其他部分是真正的问题。

感谢您的帮助。

【问题讨论】:

    标签: javascript php laravel .htaccess laravel-livewire


    【解决方案1】:

    config/livewire.php

    'asset_url'  => env('APP_URL', 'http://localhost'),
    

    那么livewire 中的资产将依赖于.env 中的APP_URL

    所以你需要在.env中配置你的url

    APP_URL=http://localhost/Laravel/v8/suhv2livewire/public
    

    注意:此更改将在您运行 php artisan config:clear

    后生效

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 2016-11-25
      • 2020-05-14
      • 1970-01-01
      • 2020-07-10
      • 2015-05-01
      • 1970-01-01
      相关资源
      最近更新 更多