Создаешь новый конфиг vue.config.admin.js c указанием другого entry:
const path = require('path');
module.exports = {
publicPath: '/',
outputDir: path.resolve(__dirname, '../public/front/admin'),
filenameHashing: false,
css: {
extract: true,
},
configureWebpack: {
resolve: {
alias: {
'@': path.join(__dirname, 'src'),
},
},
entry: {
app: path.join(__dirname, 'src', 'admin/app.ts'),
},
},
};
Добавляешь в package.json:
"scripts": {
"build:app": "env VUE_CLI_SERVICE_CONFIG_PATH=\"$PWD/vue.config.js\" vue-cli-service build",
"build:auth": "env VUE_CLI_SERVICE_CONFIG_PATH=\"$PWD/vue.config.admin.js\" vue-cli-service build",
"build": "npm run build:app && npm run build:auth",
},
Таким образом в src/admin можно складировать все что относится к ЛК, а само приложение в src. При этом можно шарить компоненты между ними.