我对 Laravel 还很陌生,所以请耐心等待。
我正在将我在 Node/React 中开发的框架复制到 Laravel。目前,我正在调整主要架构,目前正在制作刀片母版页。
目标 1:
我想在模板页面中使用blade {{ asset() }} 帮助程序加载图像。问题是我想从位于资源文件夹内的子文件夹加载图像:
/resources/app_files_layout
我知道我可以通过将文件夹移动到公共目录来做到这一点,但这不是我想要的。我的目的还在于加深对 Laravel 框架的学习和理解,并尝试在其他语言上保持与我的框架的架构保真度。
目标 2:
在我设法通过 Blade 中的 {{ asset() }} 帮助程序从 /resources/app_files_layout 加载图像后,我想在源代码中使用路径的别名。例子: 我希望它显示:http://localhost/images/image-name.jpg,而不是在浏览器中的输出 HTML 中显示 http://localhost/app_files_layout/image-name.jpg 并且从不向用户显示这些文件位于 app_files_layout 文件夹中。
我想要做的事情在 Laravel 中是否可行?
最坏情况:
如果 Laravel 没有必要的架构来完成我想要的操作,我可以设置一个在 /resources/app_files_layout 文件夹中显示图像的路线。也就是说:当我在浏览器上访问 http://localhost/images/image-name.jpg 时,应该加载位于 /resources/app_files_layout/image-name.jpg 中的图像。
我尝试遵循这个 stackoverflow 建议: https://stackoverflow.com/a/38736973/2510785 但是,返回给我一个错误,如下所示:
The requested resource /files-layout-test/backend-layout-header-tb02-03.jpg was not found on this server.
提前谢谢!
我成功地做到了这一点。所有功劳都归功于 @donkarnash 关于这个问题,我发布了为其创建路由别名的最坏情况:Laravel 8 – 为公共目录中的图像文件夹创建路由别名
我使用了符号链接方法,几乎类似于@sergey-ligus在评论中提到的方法。
1 – 编辑 laravel \config\filesystems.php 文件: 最初看起来像这样:
编辑后,如下所示:
2 - 然后,在命令终端中,我执行了以下命令:
3 - 最后,我运行了服务器并进行了测试。我不仅可以通过 http://localhost:8000/files-layout/backend-layout-header-tb02-03.jpg 在浏览器中访问该文件,而且仍然可以使用 laravel assetblade helper。
刀片文件: