[Translation] webpack 3: Official Release
Original: webpack-3-official-release
Since v2, we promised to ship community‑voted features on a faster, more stable cadence. After a year of betas without breaking changes between releases, we’re announcing webpack 3.0.0
— ready to download and upgrade.
npm install webpack@3.0.0 --save-dev
or
yarn add webpack@3.0.0 --dev
Upgrading from v2 should require little more than the install, though internal changes may affect some plugins. So far, 98% of users report no breaking changes.
Highlights
As promised, we’re shipping features you voted for — thanks to contributors and sponsors for making it possible.
Scope Hoisting
Webpack traditionally wrapped each module in a function, which adds overhead. Tools like Closure Compiler and Rollup “hoist” modules into a single scope for faster execution. Webpack 3 adds similar optimization.
Enable it via:
module.exports = {
plugins: [
new webpack.optimize.ModuleConcatenationPlugin()
]
};
Scope hoisting primarily targets ECMAScript modules; webpack will bail out in certain cases. Use --display-optimization-bailout
to learn why a bailout occurred.
You may see a small bundle size reduction, but the bigger win is runtime performance in the browser.
Magic Comments
With dynamic import()
in v2, users couldn’t name chunks like with require.ensure
. Magic comments fix that — you can name chunks inline:
import(/* webpackChunkName: "my-chunk-name" */ 'module');
This shipped in 2.4/2.6 and is now stable. Dynamic imports now match require.ensure
in flexibility. See the docs on code splitting: link
What’s next
Planned improvements:
- Better build caching
- Faster startup and incremental builds
- Improved TypeScript experience
- Long‑term caching
- WASM module support
- UX improvements
Thanks
To all users, contributors, writers, bloggers, sponsors, and maintainers — thank you. If you’d like to support the project, consider donating via Open Collective.