在 Laravel 5.6 中使用 {{URL:to()}}、{{URL::asset}} 或 {{HTML::script}}?

Using {{URL:to()}}, {{URL::asset}} or {{HTML::script}} in Laravel 5.6?

我想要以下代码:

<script src="'js/custom.js'"></script>

我使用 blade 语法实现了这一点:

<script src="{{ URL::to('js/custom.js') }}"></script>

<script src="{{ URL::asset('js/custom.js') }}"></script>

{{ HTML::script('js/custom.js') }}

它们有什么区别?

应该在Laravel 5.6中使用哪种方式?

asset()方法用于包含CSS/JavaScript/images个文件,这种情况下可以使用

<link href="{{ asset('css/min.css') }}" rel="stylesheet">
<script src="{{ asset('use.typekit.net/zjb5wvv.js') }}"></script>
<img alt="logo" src="{{ asset('images/logo.png') }}">
The files must located in the public folder.

用于生成url到link的url()方法,{{ url('users', ['page' => 22], $secure = null) }}

有很多方法可以实现这一点。您在描述中使用的方式称为 facads。最方便的方法是使用 laravel 框架提供的辅助函数。

资产() v secure_asset()

资产()

资产函数使用请求的当前方案(HTTP 或 HTTPS)为资产生成 URL:

$url = asset('img/photo.jpg');

secure_asset()

secure_asset 函数使用 HTTPS 为资产生成 URL:

$url = secure_asset('img/photo.jpg');

url() 对比 secure_url()

secure_url()

secure_url 函数生成到给定路径的完全限定 HTTPS URL:

$url = secure_url('user/profile');

$url = secure_url('user/profile', [1]);

url()

url 函数生成给定路径的完全限定 URL:

$url = url('user/profile');

$url = url('user/profile', [1]);

如果没有提供路径,返回一个Illuminate\Routing\UrlGenerator实例:

$current = url()->current();

$full = url()->full();

$previous = url()->previous();

将资产注入 blade

脚本

<script src="{{ asset('js/admin/app.js') }}"></script>
<script src="{{ asset('js/bootstrap3-typeahead.min.js') }}"></script>

样式

<link href="{{ asset('css/admin/app.css') }}" rel="stylesheet">

$路径=public_path();

$路径=public_path('css/app.css');