首页 > 解决方案 > 如何从 javascript 访问 mix() 路径

问题描述

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

<link rel="stylesheet" href="{{ mix('/css/app.css') }}">

Favicon 也可以:

<link rel="icon" type="image/png" sizes="16x16" href="{{ mix('/favicon/favicon-16x16.png') }}">

我想要做的是,利用javascript 中的mix()帮助程序,以便在我的 javascript 中我可以访问缓存的资产路径。

所以在我的组件中,我可以这样做:

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

有没有办法做到这一点?

我想到的是创建一个全局 mixin,并在我的 mix-manifest.json 中使用该方法并输入版本 ID。


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

也许有办法编写一个 javascript 辅助方法来访问 manifest.json 以获取版本化路径?可能吗?


更新:这就是我解决它的方法:

如何从 javascript 中读取 mix-manifest.json

标签: laravelcachinglaravel-mix

解决方案


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

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


推荐阅读