Webpack 3.0来了,就问你慌不慌
来源:互联网 发布:deepin 安装软件 编辑:程序博客网 时间:2024/05/16 13:51
Webpack 团队近日宣布正式发布Webpack 3.0 版本。在 2.0 版本发布之后,Webpack 团队与社区联系更为紧密,在优先实现社区希冀的功能需求的同时,提供了更快且更稳定的发布流程。对于本次发布的 Webpack 3.0 版本,用户可以便捷地平滑升级,享受新版本中带来的性能提升与 Magic Comment 等新特征。
Webpack 团队称,他们更加重视来自社区的声音,并且根据社区的投票表决来决定优先实现的功能。此次,他们实现了以下新功能。
作用域提升(Scope Hositing )是 Webpack 3 的标志性特征,老版本的 Webpack 需要将每个模块包裹在单独的函数闭包中以实现模块系统。而这些封装函数往往会使得浏览器中运行的 JavaScript 代码性能有所下降;而 Closure Compiler、RollupJS 这些构建工具则会将代码中所有的模块作用域连接到单一闭包中,从而保证了浏览器中的代码运行速度。
而 Webpack 3 中提供了如下的插件来允许开发者启用作用域提升特性来避免这种额外的性能损耗:
module.exports = { plugins: [ new webpack.optimize.ModuleConcatenationPlugin() ]};
作用域提升特性的实现依赖于 ECMAScript 模块语法,因此 Webpack 可能在 某些情况下 会回退使用老版本的打包方案。我们可以在命令行工具中添加 --display-optimization-bailout
标志位以指定 Webpack 将导致回退的原因打印出来。
鉴于作用域提升特性能够移除模块的封装函数,开发者会发现引入该插件之后整个输出包体的体积也有所减少,并且直观地反映到浏览器中 JavaScript 的加载速度上。如果开发者发现应用的加载速度有所提升,欢迎将前后对比分享给 Webpack 团队。
在 Webpack 2 中介绍了如何使用动态导入语法(import()
),不过部分开发者反映到无法创建自定义命名的块会导致它们无法使用require.ensure
。针对这个需求 Webpack 团队引入了所谓的 Magic Comments 特性,它允许用户通过设置行内注释的方式自定义块名。
import(/* webpackChunkName: "my-chunk-name" */ 'module');
尽管这两个特性是在 2.4 与 2.6 版本中发布的,但是 Webpack 团队一直在修复其存在的部分问题。而在本次发布的 3.0 版本中,这两个特性已经相对稳定,方便开发者使用require.ensure
特性。如果想了解更多的相关信息,可以参考最新的代码分割参考稳定:https://webpack.js.org/guides/code-splitting-async。
- Webpack 3.0来了,就问你慌不慌
- 推荐系统大师项亮都来了,就问你约不约?
- AndroidStudio3 支持 Java8 了,就问你敢用吗
- Android Studio3支持Java8了,就问你敢用吗
- 想想你,幸福和快乐就来了
- 困了就来
- 让你仔细看MSDN,你不看,现在又来问了:)
- 当她问「为什么喜欢我」的时候,你就已经输了
- 这次面试就差不多了,你有什么问题需要问我呢?
- 面试被问Weex ,初步了解Weex,你看我就够了。
- 你想问自己多爱英语吗,那你就厉害了
- 郁闷了 就看过来哈 不笑我就咯吱你 哈哈
- 你在我心中排第几?(写的太真实了,就转过来了)
- 网络订餐发展趋势(饿了么-饿了-你就来)
- 吴京、赵薇都被吸引来了~~1亿人次参与的奇迹,就差你了!
- 好胆你就来
- 好胆你就来
- 就这样秋天来了
- Storm中Numbus,zookeeper,Supervisor,worker作用,Storm任务提交过程,Storm组件本地目录树,Storm zookeeper目录树
- POI导出Excel:
- REST简介
- 用Maven构建Mahout项目
- 剑指Offer——(31)整数中1出现的次数(从1到n整数中1出现的次数)
- Webpack 3.0来了,就问你慌不慌
- nova vnc proxy基本原理
- Java开发中的23种设计模式详解----责任链模式(Chain of Responsibility)
- mysql 强制执行顺序
- MacOS 使用Iterm2搭配lrzsz从服务器上传下载文件
- 使用nc测试服务器UDP端口
- 如何开发一个Servlet
- Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- 开发的故事