拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Webpack 3 中的新特性

本文简短地分享下最新发布的 Webpack 3 中的新特性供大家参考。1. Webpack 3 的新特性6 月 20 日Webpack 发布了最新的 3.0 版本并在 Medium 发布了公告。Webpack 目前几乎作为前端开发的标配一些变化都可能影响到实际的项目所以我们一起来看一看新版中有哪些主要的特性更新。看下来Webpack 3.0 整体相对于 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 configurableadded experimental Scope Hoisting (webpack.optimize.ModuleConcatenationPlugin)some performance improvementsadded output.libraryExport to select an export for the librarysourceMapFilename now supports [contenthash] [breaking change]module.noParse supports functionsadd node: false option to disable all node specific additionsWebpack 的更新很大部分依据于官方的一个新功能 投票页面搞的还挺民主的感觉一些开源软件可以参考这种运营方式。1.1 更新方法以及版本迁移通过命令直接安装即可后面需要加上版本号。npm install webpack3.0.0 --save-dev或者yarn add webpack3.0.0 --dev至于从 Webpack 2 升级到 Webpack 3官方的原话是no effort beyond running the upgrade commands in your terminal所以可以断定虽然版本号进行了大版本号的变更不过并不会有太大的变化可以松一口气了。1.2 Scope Hoisting之前的每一个 module 都被包含在一个独立的 function closures 中这样的处理方式就造成了在代码在浏览器中执行缓慢的问题。开发团队参考了 Closure Compiler 和 RollupJS 等框架后将 function closures 的包裹方式变成了可配置的形式。就是在之前的 plugins 中配置即可。{% codeblock lang:js%}module.exports {plugins: [new webpack.optimize.ModuleConcatenationPlugin()]};{% endcodeblock %}当然可能因为某些模块的加载导致不能配置成功官方提供了 CLI 的参数--display-optimization-bailout用于 debug 是什么原因导致了配置失败。1.3 Magic Comments其实就是可以命令 chunk name 了。{% codeblock lang:js%}import(/* webpackChunkName: “my-chunk-name” */ ‘module’);{% endcodeblock %}更多的使用可以参考这里。2. 接下来的新特性更好的编译缓存更快的首次以及增量编译速度对 TypeScript 更加友好地支持修改 Long term caching增加对 WASM Module 的支持用户体验的改进3. 总结总体看来变化不大而且如Magic Comments等功能就已经在 2.4 的版本中发布了个人感觉发布一个 3.0 的版本主要是团队提供更好产品的一个决心象征吧。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门