Webpack revolučně mění způsob, jakým organizujeme a doručujeme frontendové assety. Od modulárního bundlingu po code splitting a hot module replacement.
Proč potřebujeme bundler¶
Moderní webové aplikace se skládají z tisíců modulů — JavaScript, CSS, obrázky, fonty. HTTP/1.1 je neefektivní pro stovky malých souborů. Bundler kombinuje moduly do optimálních balíčků pro doručení prohlížeči.
Webpack jde dál než Grunt/Gulp — není to task runner, ale modul bundler s dependency grafem. Analyzuje importy a vytváří optimální výstup.
Konfigurace webpack.config.js¶
Základní webpack konfigurace:
var path = require('path');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.[hash].js'
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ },
{ test: /\.css$/, loader: 'style!css' },
{ test: /\.(png|jpg)$/, loader: 'url?limit=8192' }
]
}
};
Loadery transformují soubory — Babel pro JS, CSS loader pro styly, url-loader pro obrázky.
Code splitting a lazy loading¶
Webpack umožňuje rozdělit aplikaci do chunků načítaných na vyžádání:
// Dynamický import — webpack vytvoří separátní chunk
button.onclick = function() {
require.ensure([], function(require) {
var module = require('./heavy-module');
module.init();
});
};
Toto dramaticky zlepšuje initial load time — uživatel stahuje jen kód, který aktuálně potřebuje.
Hot Module Replacement¶
HMR je killer feature pro development — webpack aktualizuje moduly v běžící aplikaci bez full page reload:
- CSS změny se aplikují okamžitě
- React komponenty se aktualizují se zachováním stavu
- Výrazně rychlejší development cycle
Webpack Dev Server s HMR je dnes standard pro React a Vue.js vývoj.
Závěr: srdce moderního frontendu¶
Webpack je komplexní nástroj s učební křivkou, ale investice se vyplatí. Code splitting, tree shaking, HMR a bohatý ekosystém pluginů z něj dělají centrum moderního frontendového toolingu. Pro nové projekty je Webpack de facto standard.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns