在 Laravel 中如何使用路径访问前端资源?
遇到一个问题,在不使用 laravel 的前端工具的情况下,直接使用路径访问前端资源的地址都访问不到,返回 404.
以下是试过的几种方式:
<link rel="stylesheet" href="{{ asset('css/swiper.min.css') }}">
<link rel="stylesheet" href="/resources/assets/css/swiper.min.css">
<script src="{{ resource_path('assets/js/swiper.min.js') }}"></script>
<script src="/../resources/assets/js/jquery.1.7.2.min.js"></script>
<script src="/../resources/assets/js/jquery.img_silder.js"></script>
资源在项目中是一定存在的,以 resources/assets/css 为例:
vagrant@homestead:~/Code/yesonfood$ ll resources/assets/css/
total 40
drwxr-xr-x 1 vagrant vagrant 128 Oct 28 02:59 ./
drwxr-xr-x 1 vagrant vagrant 192 Oct 28 03:10 ../
-rwxrwxrwx 1 vagrant vagrant 17120 Oct 25 01:29 style.css*
-rwxrwxrwx 1 vagrant vagrant 17759 Oct 23 11:11 swiper.min.css*
关于 LearnKu
resource_path();返回的是绝对路径,也就是file:,而我们访问服务器需要的是http:建议把前端资源放到
public下或者storage下。@施国鹏 谢谢,现在看来应该是 nginx 对于资源的访问路径有问题,因为 laravel 在 nginx 的配置中 root 在
public目录下面。所以应该是放在public下面可以正常引用,但是如果在storage下面依旧存在访问的那个问题。我这边最后的解决方案是资源仍然放在
/resources/assets/下。在 nginx 的配置中对访问资源的路由重新指定了一个root@Heroic 官方文档明确有说明,如果是放在
storage目录下的资源需要执行php artisan storage:link@施国鹏 十分感谢 之前没有细看文档。
@Heroic 问题解决了就好 :smile: