【发布时间】:2019-05-10 15:56:07
【问题描述】:
我开始使用 laravel 框架 (v5.7)。我最近更改了我的文档根目录和虚拟主机,如下所示(目的只是不在 url 上显示“public”):
文档根目录:
DocumentRoot "${INSTALL_DIR}/www/laravel/public"
<Directory "${INSTALL_DIR}/www/laravel/public/">
Options +Indexes +FollowSymLinks +Multiviews
AllowOverride all
Require local
</Directory>
虚拟主机:
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot "${INSTALL_DIR}/www/laravel/public"
<Directory "${INSTALL_DIR}/www/laravel/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
完成后,我的 css 和 js 文件没有指向正确的位置(正常,我想)。我查看了 laravel 文档,但我开始对在我的项目中为 css 和 js 文件生成 url 的正确方法感到困惑。
Laravel 有不同的助手来生成 url(例如 url() 和 assets())和其他指向文件夹的助手(base_path()、public_path()、resource_path())。
我也在谷歌上搜索过这个,我开始更加困惑,因为很多人使用资产助手来生成位于公共文件夹(而不是资源文件夹)上的文件的 url。
我的问题如下:
如果我的 css 和 js 文件位于公共文件夹(public/js 和公共 css)中,这是在文档根文件夹和虚拟主机更改文件夹以查看后生成这些 url 的正确方法在?
我应该使用asset helper还是url helper来生成它们?
我可以使用助手的组合来完成吗? 例如:url(public_path('css/style.css'))
PD:我的“自己的助手”为您服务: 在这两种情况下,asset() 和 url() 打印相同:
- asset('') 和 url('') --> "http://localhost/"
- asset(public_path('')) 和 url(public_path('')) --> "http://localhost/C:\wamp64\www\laravel\public"
【问题讨论】: