Webpack Basics
Webpack configuration and basic optimization.
Basic Config
webpack.config.js
const path = require(path);
module.exports = {
entry: ./src/index.js,
output: {
filename: bundle.js,
path: path.resolve(__dirname, dist)
},
mode: production
};
Production Mode
Enable production optimizations
mode: production
Automatically enables:
• Minification (TerserPlugin)
• Tree shaking
• Scope hoisting
• Module concatenation
Code Splitting
Multiple entry points
entry: {
app: ./src/app.js,
vendor: ./src/vendor.js
}
Dynamic imports
import(./module.js)
.then(module => {
module.default();
});
Split chunks
optimization: {
splitChunks: {
chunks: all
}
}
Output Hashing
Content hash for cache busting
output: {
filename: [name].[contenthash].js,
chunkFilename: [name].[contenthash].js
}
Hash types
[hash] // build hash
[chunkhash] // chunk hash
[contenthash] // content hash (best)