Laravel 如何从javascript访问mix()路径

Laravel 如何从javascript访问mix()路径,laravel,caching,laravel-mix,Laravel,Caching,Laravel Mix,我已经用Laravel mix编辑了我的资产。在刀片文件中,传统的方法是 Favicon还可以: 我试图做的是,在javascript中使用mix()helper,以便在javascript中访问缓存的资产路径 因此,在我的组件中,我可以: <img :src="mix_path('/img/hello.svg')" /> 有没有办法做到这一点 我想到的是创建一个全局mixin,并在我的read my mix-manifest.json中使用该方法,然后放入版本id 编辑

我已经用Laravel mix编辑了我的资产。在刀片文件中,传统的方法是

Favicon还可以:

我试图做的是,在javascript中使用
mix()
helper,以便在javascript中访问缓存的资产路径

因此,在我的组件中,我可以:

<img :src="mix_path('/img/hello.svg')" />

有没有办法做到这一点

我想到的是创建一个全局mixin,并在我的read my mix-manifest.json中使用该方法,然后放入版本id


编辑:使用
窗口
对象答案。这听起来不错(作为一种解决方法),只要您不使用SSR,因为窗口对象没有定义

也许有一种方法可以编写javascript助手方法来访问manifest.json以获得版本化路径?可能吗


更新:我就是这样解决的:


要将PHP变量传递给javascript,需要在页面加载到PHP文件(即
Blade
模板)时将它们回显到页面


如果您想在纯javascript文件中使用它们,您可以做一些简单的事情,比如将它们分配给
窗口
对象的属性

将PHP变量传递给javascript,这需要您在页面加载到PHP文件(即
刀片
模板)时将它们回显到页面


如果您想在纯javascript文件中使用它们,您可以做一些简单的事情,比如将它们分配给
窗口
对象的属性

Hmm,将所有图像路径传递给
窗口
对象?像
window.imagepath=[mix('/path'),…]
?这很管用,但看起来像是一条非常混乱的道路,而且你将无法将
窗口
对象与SSRI一起使用。我不建议对每个图像都这样做!仅用于指向css和js文件等内容的路径。如果将图像的路径设置为相对路径,则可以只存储一个资产路径(
window.assetPath
),然后在必要时预先设置它,将所有图像路径传递给
window
对象?像
window.imagepath=[mix('/path'),…]
?这很管用,但看起来像是一条非常混乱的道路,而且你将无法将
窗口
对象与SSRI一起使用。我不建议对每个图像都这样做!仅用于指向css和js文件等内容的路径。如果将图像的路径设置为相对路径,则只需存储一个资产路径(
window.assetPath
),然后在必要时预先设置它