本文简短地分享下最新发布的 webpack 3 中的新特性,供大家参考。
6 月 20 日,Webpack 发布了最新的 3.0 版本,并在 Medium 发布了公告。
Webpack 目前几乎作为前端开发的标配,所以我们一起来看一看新版中有哪些主要的特性更新。
整体相对于 2.0 变化不大,不必惊慌。
Webpack 2.0 的相关视频教程,可以参见我录制的共计 20 集的视频教程,Webpack 2 视频教程。
下面是 v3.0 Release 中的 Features List。
node_modules no longer mangle to ~ in stats [breaking change]
timeout for HMR requests is configurable
added experimental Scope Hoisting (webpack.optimize.ModuleConcatenationPlugin)
some performance improvements
added output.libraryExport to select an export for the library
sourceMapFilename now supports [contenthash] [breaking change]
module.noParse supports functions
add node: false option to disable all node specific additions
通过命令直接安装即可,后面需要加上版本号。
npm install webpack@3.0.0 --save-dev
或者
yarn add webpack@3.0.0 --dev
至于从 Webpack 2 升级到 Webpack 3,官方的原话是:
本系统经过多次升级改造,系统内核经过多次优化组合,已经具备相对比较方便快捷的个性化定制的特性,用户部署完毕以后,按照自己的运营要求,可实现快速定制会费管理,支持在线缴费和退费功能财富中心,管理会员的诚信度数据单客户多用户登录管理全部信息支持审批和排名不同的会员级别有不同的信息发布权限企业站单独生成,企业自主决定更新企业站信息留言、询价、报价统一管理,分系统查看分类信息参数化管理,支持多样分类信息,
0
no effort beyond running the upgrade commands in your terminal
所以可以断定,虽然版本号进行了大版本号的变更,不过并不会有太大的变化,可以松一口气了。
之前的每一个 module 都被包含在一个独立的 function closures 中,这样的处理方式就造成了在代码在浏览器中执行缓慢的问题。
开发团队参考了 Closure Compiler 和 RollupJS 等框架后,将 function closures 的包裹方式变成了可配置的形式。
就是在之前的 plugins 中配置即可。
module.exports = {
plugins: [
new webpack.optimize.ModuleConcatenationPlugin()
]
};当然可能因为某些模块的加载导致不能配置成功,官方提供了 CLI 的参数 --display-optimization-bailout 用于 debug 是什么原因导致了配置失败。
其实就是可以命令 chunk name 了。
import(/* webpackChunkName: "my-chunk-name" */ 'module');
更多的使用可以参考这里。
更好的编译缓存
更快的首次以及增量编译速度
对 TypeScript 更加友好地支持
修改 Long term caching
增加对 WASM Module 的支持
用户体验的改进
总体看来变化不大,而且如 Magic Comments 等功能就已经在 2.4 的版本中发布了,个人感觉,发布一个 3.0 的版本主要是团队提供更好产品的一个决心象征吧。
以上就是Webpack3有哪些新特性的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号