mix.extract()
(без аргументов) разбивает обычный app.js
на три файла
- Код приложения: app.js
- Библиотеки поставщиков: vendor.js
- Манифест (время выполнения веб-пакета): manifest.js
Таким образом, вам придется включить другие скрипты в представление Blade, чтобы Vue загрузила
<!-- Scripts -->
<script src="{{ mix('js/manifest.js') }}" defer></script>
<script src="{{ mix('js/vendor.js') }}" defer></script>
<script src="{{ mix('js/app.js') }}" defer></script>
порядок важен, потому что экземпляр Vue создается и монтируется в app.js
, а сама библиотека в vendor.js
, а manifest.js
- это среда выполнения веб-пакета
из документов
Если вы не предоставите массив библиотек npm для метода extract, Mix извлечет все импортированные библиотеки из каталога node_modules.Это полезное значение по умолчанию и, вероятно, то, что вы хотите.Однако, если вам нужно быть явным, передайте массив, и будут извлечены только те библиотеки поставщиков.
Что это за файл манифеста?
Webpack компилируется с небольшим количеством кода времени выполнения,чтобы помочь с его работой.
Когда вы не используете mix.extract()
, этот код невидим для вас и находится внутри вашего файла комплекта.
Однако, если мы хотим разделить наш код и разрешитьдолгосрочное кэширование, этот код времени выполнения должен где-то жить.Таким образом, mix извлечет его в свой собственный файл.Таким образом, файлы вашего поставщика и манифеста могут храниться в кэше как можно дольше.