Lesson 3 / 25
Core concepts: entry and output
Master entry points and output configuration.
Entry and output explained
Entry tells Webpack where to start bundling. It can be a single file or multiple entry points. Output specifies where to write bundled files and their names. Output filename patterns use [name], [hash], [contenthash] for dynamic naming.
Multiple entry points
Create separate bundles for different parts of your application.
module.exports = {
mode: 'production',
entry: {
app: './src/app.js',
vendor: './src/vendor.js'
},
output: {
filename: '[name]-[contenthash].js',
path: __dirname + '/dist'
}
};
Output:
Creates: app-a1b2c3d4.js, vendor-x9y8z7w6.js
Use contenthash for cache busting
[contenthash] generates unique hashes based on file content. When content changes, the hash changes, forcing browsers to fetch the new version. [hash] changes on every build even if content is unchanged.
Quick check
Quick check: What does [contenthash] do in output filename?
- Generates unique hash based on file content for cache busting.
- Compresses the file automatically.
- Adds metadata to the bundle.
Answer
Generates unique hash based on file content for cache busting. — Content hash ensures cache busting by changing the filename when content changes, forcing fresh downloads.