Laravel 混合热重载和域名

Laravel mix hot reload and domain name

我使用 Laravel Homestead 作为我的开发环境,所以我的网站可以在 http://test.app

上访问

现在我尝试配置 laravel mix 以将其与 VUEJS 一起使用。为此,我在我的一个模板中包含了一个 JS 文件:

<script src="{{ url(mix('js/main.js'))}}"></script>

结果是

<script src="//localhost:8080/js/main.js"></script>

似乎是这样,localhost:8080 被硬编码在 vendor/laravel/framework/src/Illuminate/Foundation/helper 中。php(参见 https://github.com/laravel/framework/blob/e35a60f7f3ef1d75754522771f13762b3058f1b0/src/Illuminate/Foundation/helpers.php#L560

如何解决这个问题或我做错了什么?

尝试在您的 .env 配置文件中设置 APP_URL

APP_URL = http://test.app

希望对您有所帮助。

您引用的源代码只会在监视模式下执行。

在这种情况下,Laravel mix 在 8080 端口上为所有静态文件(css、js)混合托管服务器,这样您就可以获得热重载功能,而 php 文件仍然 运行 在你的 Homestead Niginx 上,我没有发现任何问题。

它将在生产模式下编译为您的 APP_URL,如果 8080 与您的其他服务有某种冲突,您可以修改 Laravel Mix 的配置文件。