@Giperoglif

Как сделать два mix-manifest.json?

Собираю ресурсы для двух сайтов одной командой yarn. В webpack.mix.js примерно такой конфиг:
const mixCommon = require('laravel-mix');
const mixLanding = require('laravel-mix');

//Конфиг для основного сайта ----------------------------------------------------------------------
mixCommon.sass('frontend/assets/src/sass/common.scss', 'frontend/web/css')
	.options({
		imgLoaderOptions: {enabled: false},
		postCss: [
			require('postcss-css-variables')()
		]
	})
	.version();

mixCommon.setPublicPath('frontend/web/');

//Тут собираем файлы для лэндинга -------------------------------------------------------------
mixLanding.sass('landing/assets/src/sass/landing.scss', 'landing/web/css')
	.options({
		imgLoaderOptions: {enabled: false},
		postCss: [
			require('postcss-css-variables')()
		]
	})
	.version();

mixLanding.setPublicPath('landing/web/');


проблема в том, что во второй mix-manifest.json, который создается в landing/web/ попадают записи и о ресурсах common. Подскажите как это разделить правильно? Не совсем понимаю. Только разделять на две команды? В принципе оно кушать не просит, т.к. дальше ассет менеджер все равно для каждого публикует только то что нужно, но как-то глаз мозолит.
  • Вопрос задан
  • 823 просмотра
Решения вопроса 1
@Giperoglif Автор вопроса
В общем да. Только разделение на две команды.
В package.json:
"scripts": {
    "production-front": "cross-env process.env.section=front NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "production-admin": "cross-env process.env.section=admin NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
  },


в webpack.min.js:

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

if (process.env.section) {
	require(__dirname + '/webpack.mix.' + process.env.section + '.js');
}


ну и два файла:

webpack.mix.front.js и webpack.mix.admin.js
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы