asset()

使用当前请求的scheme(HTTP或HTTPS)为前端资源生成一个URL:

$url = asset('img/photo.jpg');



laravel自带了laravel-mix,用于对js、css、图片等静态资源进行打包。生成的文件的命名会是:​​app.asjduiik2l1323879dasfydua23.js​​, 即​​js原文件名+hash+.js后缀​​,因为中间的那个hash是随时会变化的,所以在页面引入js文件的时候,就不能写死文件的路径,而是使用​​mix('app.js')​​,此时laravel会自动去匹配当前的​​app.js​​对应哪个​​app+hash+.js​​的文件(项目public目录下会有一个​​mix-manifest.json​​, 这里面保存了两者的对应关系,每次打包静态资源的时候都会更新该文件)。

而有些时候我们并不希望静态资源的名称中被加上hash值(大部分情况是独自引入的非nodejs模块的第三方库),这个时候就可以直接使用asset方法,它就是直接简单粗暴地找你给它名称的文件咯。


非学,无以致疑;非问,无以广识