Ответ
Основные подходы к сборке:
- Task Runners (Gulp, Grunt) - автоматизация задач (минификация, транспиляция, конкатенация). Пример Gulp:
gulp.task('scripts', () => {
return gulp.src('src/js/*.js')
.pipe(concat('bundle.js'))
.pipe(uglify())
.pipe(gulp.dest('dist/js'))
});
- Module Bundlers (Webpack, Rollup, Parcel) - сборка модульных приложений с поддержкой зависимостей, tree-shaking. Webpack-пример:
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
}
};
-
Compiler-based (Vite, Snowpack) - использование нативных ES-модулей в dev, быстрая сборка за счет ESM.
-
Metaframeworks (Next.js, Nuxt) - включают сборку как часть фреймворка с оптимизациями под SSR/SSG.
Современные проекты чаще используют Webpack/Vite + плагины для обработки CSS, assets, Babel/TypeScript. Выбор зависит от масштаба проекта и требуемых оптимизаций.