Компиляция ресурсов
Компиляция ресурсов с использовLaravel Mix)
Установка и настройка
Когда вы создаете новый модуль, он также создает активы для CSS/JS и файл конфигурации webpack.mix.js
php artisan module:make Blog
Смените директорию на модуль
cd Modules/Blog
Файл package.json
по умолчанию включает в себя все, что вам нужно для начала работы. Вы можете установить зависимости, на которые он ссылается, запустив
npm install
Запуск Mix
Mix — это слой конфигурации поверх Webpack, поэтому для запуска задач Mix вам нужно всего лишь выполнить один из сценариев NPM, включенных в laravel-modules
package.json
по умолчанию
// Запуск всех задач Mix...
npm run dev
// Запуск всех задач Mix и сжатие результата...
npm run production
После генерации вы не будете знать точное имя файла. Таким образом, вы должны использовать функцию глобального микширования Laravel в своих представлениях для загрузки ассета с соответствующим хешированием. Функция микширования автоматически определит текущее имя хешированного файла
// Файл Modules/Blog/Resources/views/layouts/master.blade.php
<link rel="stylesheet" href="{{ mix('css/blog.css') }}">
<script src="{{ mix('js/blog.js') }}"></script>
Для получения дополнительной информации о Laravel Mix просмотрите документацию здесь: https://laravel.com/docs/mix
Примечание: чтобы основная конфигурация Laravel Mix не перезаписывала файл
public/mix-manifest.json
:
Установитеlaravel-mix-merge-manifest
npm install laravel-mix-merge-manifest --save-dev
Измените основной файл webpack.mix.js:
let mix = require('laravel-mix');
/* Allow multiple Laravel Mix applications*/
require('laravel-mix-merge-manifest');
mix.mergeManifest();
/*----------------------------------------*/
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
Last updated