Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Webpack: inteligentní bundling pro moderní web

03. 05. 2015 1 min čtení CORE SYSTEMSdevelopment

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.

webpackbundlingfrontendjavascripttoolingperformance