Laravel Mix: использование Mix () для кэширования бюста вокруг другого помощника - PullRequest
0 голосов
/ 07 мая 2019

У меня есть помощник, определенный ниже:

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 голосов
/ 08 мая 2019

Чтобы включить управление версиями, вам нужно добавить следующее в 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>
...