Laravel Mix:使用Mix()在另一个帮助程序周围缓存崩溃

时间:2019-05-07 18:39:03

标签: laravel vue.js laravel-mix

我在下面定义了一个助手:

function cdn($file)
{
    return env('CDN_URI', '').'/'.ltrim($file, '/');
}

在刀片中,我将通过帮助程序提供捆绑的Vue js文件:

<script type="text/javascript" src="{{ cdn('/dist/js/app.js') }}"></script>

我现在有缓存问题,所以我想开始使用版本控制。我在Laravel Mix文档中读到,要导入版本文件,将它们放入mix()中。我是否可以将它包装在我的其他助手周围,如下所示:

<script type="text/javascript" src="{{ mix(cdn('/dist/js/app.js')) }}"></script>```

1 个答案:

答案 0 :(得分:0)

要启用版本控制,您需要在编译资产时在webpack.mix.js中添加以下内容。

mix.version();

类似的东西:

const mix = require('laravel-mix');

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css')
   .version();

然后将其添加到模板中:

<script src="{{ mix('js/app.js') }}"></script>

使用npm run prod,编译资产,如果您查看源代码,则会看到类似以下内容的JavaScript。

<script src="/js/app.js?id=476befa31a13c804b084"></script>

最后,您可以添加cdn()帮助器,确保将帮助器包装在mix()函数周围。

<script src="{{ cdn(mix('js/app.js')) }}"></script>