【发布时间】:2022-01-12 18:24:10
【问题描述】:
我正在使用 Laravel 8,我想安装 Sweet Alert。所以在下载它并将require('sweetalert');添加到bootstrap.js之后,我运行了命令npm run production。
然后我将它包含在我的master.blade.php:
<script src="{{ asset('/js/app.js') }}"></script>
@include('sweet::alert')
现在因为我已将我的公共目录从 public 更改为 public_html,Laravel asset() 函数将调用 public_html/js/app.js,这是错误的,因为 Laravel Mix 在 @987654335 中生成了 app.js 和 app.css @目录。
所以问题是如何将 Laravel Mix 的默认生成 public 更改为 public_html ?
这是我的AppServiceProvider.php:
public function register()
{
$this->app->bind('path.public', function(){
return base_path() . '/public_html';
});
}
【问题讨论】:
-
Laravel 假设公共目录名为
public。改变它是个坏主意。 -
你不能创建一个从 public_html 到 public 的符号链接吗?这将解决您的问题而不会产生其他问题
-
@EliasSoares 我不明白符号链接的意思!请您再解释一下好吗?
-
@nitinos Mix 对此内置解决方案。我在下面添加了一个答案。
-
检查符号链接是如何在这里使用的:config 和其他东西在这里:laravel mix 这将帮助你理解事物加上符号链接实际上是一个符号链接,当你有多个时非常方便框架安装。通过创建符号链接,您可以在不更改实际名称的情况下为目录创建别名。在此处查看 symlink
标签: php laravel laravel-8 laravel-mix sweetalert