CaiWuXiTong/webpack.mix.js

110 lines
5.2 KiB
JavaScript
Vendored
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const mix = require('laravel-mix');
require('laravel-mix-tailwind');
const buildTarget = process.env.CAIWU_BUILD_TARGET || 'all';
const buildJavaScript = buildTarget === 'all' || buildTarget === 'js';
const buildCss = buildTarget === 'all' || buildTarget === 'css';
const terserWorkers = Math.max(1, Number.parseInt(process.env.CAIWU_TERSER_WORKERS || '2', 10));
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
//mix.js('resources/assets/js/views/**/*.js', 'public/js')
mix
.setPublicPath('public/')
.webpackConfig({
output: {
publicPath: 'public/js/',
filename: '[name].js',
chunkFilename: '[name].js',
},
stats: {
children: true
},
})
.options({
runtimeChunkPath: 'js',
terser: {
extractComments: false,
parallel: terserWorkers,
}
});
if (buildJavaScript) {
mix
// Auth
.js('resources/assets/js/views/auth/common.js', 'public/js/auth/common.min.js')
.js('resources/assets/js/views/auth/users.js', 'public/js/auth/users.min.js')
// Banking
.js('resources/assets/js/views/banking/accounts.js', 'public/js/banking/accounts.min.js')
.js('resources/assets/js/views/banking/transactions.js', 'public/js/banking/transactions.min.js')
.js('resources/assets/js/views/banking/transfers.js', 'public/js/banking/transfers.min.js')
.js('resources/assets/js/views/banking/reconciliations.js', 'public/js/banking/reconciliations.min.js')
// Common
.js('resources/assets/js/views/common/contacts.js', 'public/js/common/contacts.min.js')
.js('resources/assets/js/views/common/companies.js', 'public/js/common/companies.min.js')
.js('resources/assets/js/views/common/dashboards.js', 'public/js/common/dashboards.min.js')
.js('resources/assets/js/views/common/documents.js', 'public/js/common/documents.min.js')
.js('resources/assets/js/views/common/imports.js', 'public/js/common/imports.min.js')
.js('resources/assets/js/views/common/items.js', 'public/js/common/items.min.js')
.js('resources/assets/js/views/common/reports.js', 'public/js/common/reports.min.js')
// Install
.js('resources/assets/js/install.js', 'public/js/install.min.js')
.js('resources/assets/js/views/install/update.js', 'public/js/install/update.min.js')
// Wizard
.js('resources/assets/js/wizard.js', 'public/js/wizard/wizard.min.js')
// Modules
.js('resources/assets/js/views/modules/apps.js', 'public/js/modules/apps.min.js')
// Business workspace(店铺管理 › 各子功能)
.js('resources/assets/js/views/business/pages.js', 'public/js/business/pages.min.js')
// Ecommerce Finance
.js('resources/assets/js/views/ecommerce-finance/goods-reconciliations.js', 'public/js/ecommerce-finance/goods-reconciliations.min.js')
.js('resources/assets/js/views/ecommerce-finance/return-reconciliations.js', 'public/js/ecommerce-finance/return-reconciliations.min.js')
.js('resources/assets/js/views/ecommerce-finance/invoice-deductions.js', 'public/js/ecommerce-finance/invoice-deductions.min.js')
.js('resources/assets/js/views/ecommerce-finance/compensation-details.js', 'public/js/ecommerce-finance/compensation-details.min.js')
.js('resources/assets/js/views/ecommerce-finance/advance-details.js', 'public/js/ecommerce-finance/advance-details.min.js')
.js('resources/assets/js/views/ecommerce-finance/sample-deductions.js', 'public/js/ecommerce-finance/sample-deductions.min.js')
.js('resources/assets/js/views/ecommerce-finance/delivery-unpriced.js', 'public/js/ecommerce-finance/delivery-unpriced.min.js')
.js('resources/assets/js/views/ecommerce-finance/return-unpriced.js', 'public/js/ecommerce-finance/return-unpriced.min.js')
.js('resources/assets/js/views/ecommerce-finance/other-adjustments.js', 'public/js/ecommerce-finance/other-adjustments.min.js')
.js('resources/assets/js/views/ecommerce-finance/dropshipping-express.js', 'public/js/ecommerce-finance/dropshipping-express.min.js')
// Portal
.js('resources/assets/js/views/portal/apps.js', 'public/js/portal/apps.min.js')
// Settings
.js('resources/assets/js/views/settings/categories.js', 'public/js/settings/categories.min.js')
.js('resources/assets/js/views/settings/currencies.js', 'public/js/settings/currencies.min.js')
.js('resources/assets/js/views/settings/settings.js', 'public/js/settings/settings.min.js')
.js('resources/assets/js/views/settings/taxes.js', 'public/js/settings/taxes.min.js')
.vue()
.extract('public/js/vendor.js');
}
if (buildCss) {
mix.postCss('resources/assets/sass/app.css', 'public/css', [
require('tailwindcss')
])
.tailwind('./tailwind.config.js');
}
if (mix.inProduction()) {
mix.version();
}