Laravel 里的mix方法和asset方法有啥区别?
刚接触laravel,在引用资源时,看到有asset方法和mix方法,返回的都是同一个目录,想问下这两有啥区别?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
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方法,它就是直接简单粗暴地找你给它名称的文件咯。