漂亮男人2017-05-16 13:11:08
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方法,它就是直接簡單粗暴地找你給它名稱的文件咯。