在 laravel 中使用前缀后,asset('assets') 返回错误的目录
Posted
技术标签:
【中文标题】在 laravel 中使用前缀后,asset(\'assets\') 返回错误的目录【英文标题】:asset('assets') return to wrong directory after using prefix in laravel在 laravel 中使用前缀后,asset('assets') 返回错误的目录 【发布时间】:2019-04-28 02:46:41 【问题描述】:这是我加载资产的那一行:
<script src=" asset('assets') /js/vendors/jquery-3.2.1.min.js"></script>
这里的代码来自web.php
用于路线设置:
Route::resource('masuk', 'Backend\ParkirInController');
这段代码可以正常工作,但是当我使用像这里这样的前缀时:
Route::group(['prefix'=>'parkir'], function ()
Route::resource('masuk', 'Backend\ParkirInController');
);
资产未加载并显示如下错误
require.min.js:5 GET http://localhost:8000/parkir/assets/js/vendors/jquery-3.2.1.min.js net::ERR_ABORTED 404(未找到)
因此前缀 parkir
的名称包含在资产 URL 中。
【问题讨论】:
【参考方案1】:尝试改变这一行:
<script src=" asset('assets') /js/vendors/jquery-3.2.1.min.js"></script>
到
<script src=" asset('/assets/js/vendors/jquery-3.2.1.min.js') "></script>
在这里,您刚刚在assets
之前添加了一个/
,以便url 从根目录而不是相对当前路径开始。
【讨论】:
仍然出现错误。这里有一些截图,这是错误,ibb.co/ZWhsN8L 这是网址ibb.co/dm4VY70 这就是我在尝试 dd(asset('/assets/js/vendors/Datatables-1.10.19/jquery.dataTables.min.js')) 时得到的结果localhost:8000/assets/js/vendors/Datatables-1.10.19/…" @Imran 如果此答案解决了您的问题(正如您在答案中提到的),请不要忘记投票并批准此答案。最良好的祝愿。【参考方案2】:终于可以解决了!这是因为模板中的dashboard.js
使用require.js
来设置具有静态路径的所需资产。
它看起来像这样
Static path of assets
在我像@Imran 所说的那样在行首添加/
之后。效果很好
【讨论】:
以上是关于在 laravel 中使用前缀后,asset('assets') 返回错误的目录的主要内容,如果未能解决你的问题,请参考以下文章