我對 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.
提前謝謝!
P粉9285913832023-11-10 09:47:01
我成功地做到了這一點。所有功勞都歸功於@donkarnash 關於這個問題,我發布了為其創建路由別名的最壞情況:Laravel 8 – 為公共目錄中的圖像資料夾創建路由別名
我使用了符號連結方法,幾乎類似於@sergey-ligus在評論中提到的方法。
1 – 編輯 laravel \config\filesystems.php 檔案: 最初看起來像這樣:
links' => [ public_path('storage') => storage_path('app/public'), ],
編輯後,如下圖所示:
'links' => [ public_path('storage') => storage_path('app/public'), public_path('files-layout') => resource_path('app_files_layout'), ],
2 - 然後,在命令終端機中,我執行了以下命令:
php artisan storage:link
3 - 最後,我運行了伺服器並進行了測試。我不僅可以透過 http://localhost:8000/files-layout/backend-layout-header-tb02-03.jpg 在瀏覽器中存取該文件,而且仍然可以使用 laravel assetblade helper。
刀片檔:
{{ asset('/files-layout/backend-layout-header-tb02-03.jpg') }}