我正在使用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()和asset())以及指向文件夹的其他帮助程序(base_path(),public_path(),resource_path()) .
我还在谷歌搜索了这个,我开始更加困惑,因为许多人使用资产助手生成位于公共文件夹(而不是资源文件夹)上的文件的URL .
我的疑虑如下:
-
如果我的css和js文件位于公共文件夹(public / js和public css)中,一旦文档根文件夹和虚拟主机更改了要查看的文件夹,这是生成这些URL的正确方法吗?
-
我应该使用资产助手还是网址助手来生成它们?
-
我可以使用帮助器的组合来做吗?例如:url(public_path('css / style.css'))
PD:我的“自己的助手”:在这两种情况下,asset()和url()打印相同:
-
asset('') and url('') - >“http://localhost/”
-
asset(public_path('')) and url(public_path('')) - >“http://localhost/C:\ wamp64 \ www \ laravel \ public”
1 回答
看起来像
是正确的方法 .