43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
import { resolve } from 'path';
|
|
|
|
export default {
|
|
esbuild: {
|
|
supported: {
|
|
'top-level-await': true,
|
|
},
|
|
},
|
|
base: './',
|
|
root: resolve(__dirname, 'src'),
|
|
publicDir: resolve(__dirname, 'public'),
|
|
build: {
|
|
minify: false,
|
|
rollupOptions: {
|
|
input: {
|
|
// Указываем только JS входные точки
|
|
main: resolve(__dirname, 'src', 'assets', 'js', 'main.js'),
|
|
materials: resolve(__dirname, 'src', 'assets', 'js', 'materials.js'),
|
|
// Добавьте остальные JS файлы по аналогии
|
|
},
|
|
output: {
|
|
entryFileNames: `assets/js/[name].js`,
|
|
chunkFileNames: `assets/js/[name].js`,
|
|
assetFileNames: (assetInfo) => {
|
|
// Разделяем обработку CSS и других ассетов
|
|
if (assetInfo.name.endsWith('.css')) {
|
|
return 'assets/css/[name].[ext]';
|
|
}
|
|
return 'assets/[name].[ext]';
|
|
},
|
|
},
|
|
},
|
|
outDir: resolve(__dirname, 'dist'),
|
|
// Опция для копирования CSS без обработки через JS
|
|
cssCodeSplit: true,
|
|
},
|
|
server: {
|
|
open: '/pages/pages.html',
|
|
hmr: {
|
|
overlay: true,
|
|
},
|
|
},
|
|
}; |