开始入坑webpack4

Posted 点融黑帮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始入坑webpack4相关的知识,希望对你有一定的参考价值。

入坑webpack4


开始入坑webpack4

webpack 最近升级到了 v4.5+版,大多数插件也相应完成了升级,所以最近在开发一个项目直接上了 webpack4。 

也许是因为 v4 之前的 webpack 配置过于繁琐复杂,以至于前端亟需一个专门的职位(webpack 配置工程师)来专门负责 webpack 配置文件的编写和维护。

又也许是因为另外一个零配置的打包工具 parcel 风头正茂,出来短短数月,github 上的星星数量就达到了出来数年的 webpack 的一大半(写文章时 parcel 是 22k,webpack 是 40k),所以 v4 版的 webpack 除了构建性能更加出色以外,也开始向零配置方向迈出了一大步。

想当初 rollup 携牛x 哄哄的 tree shaking 特性准备一举拿下打包市场,webpack 团队赶紧在 2.0 版的 webpack 支持了 tree shaking,导致后面 rollup 只拿下了 js 库构建的市场(比如 Vue 用 rollup 构建,最近 facebook 将 react 的构建也转向了 rollup)。

废话不多说,下面还是讲入坑 webpack v4。


开始入坑webpack4

01

官方不再支持 node4 以下版本

官方不再支持 node4 以下的版本,所以如果你的node版本太低,先开始升级node吧!

话说node10 都出来了一段时间了,想必现在没人会去装 node v4 以下的版本了,node官网都已经宣布node4.x已经结束使命了。

开始入坑webpack4


02

cli功能移到了webpack-cli

cli功能从webpack移到了webpack-cli,所以如果你要使用cli功能,除了安装 webpack 外,还需要安装 webpack-cli (基本都会使用cli ~)

yarn add -D webpack webpack-cli (npm install)


03

用新配置项mode配置生产或开发环境

用新的配置项--mode配置生产或开发环境 (mode 可以是 production 或 development 或none)。

可以在 webpack 命令加上--mode 参数,或者在 webpack 配置文件中加上。

开始入坑webpack4
开始入坑webpack4

production 模式会开启各种特性优化构建,使用 scope hoisting 和 tree-shaking,自动启用 uglifyjs 对代码进行压缩,并且会自动将 process.env.NODE_ENV 设置为 production。development 模式主要会优化开发时的增量构建,另外 process.env.NODE_ENV 会被设置为 development,无需再用 define 插件定义。


04

开始使用optimization.splitChunks

CommonsChunkPlugin被废弃,开始使用optimization.splitChunks

之前我们做代码分割,少不了用 CommonsChunkPlugin 分离 vendor 和 app 代码。 如下:

开始入坑webpack4

采用 optimization.splitChunks 后无需 CommonsChunkPlugin 手工处理了。有关更多的配置项,请参考官方文档: https://webpack.js.org/plugins/split-chunks-plugin/#optimization-splitchunks

开始入坑webpack4


05

提取 css


ExtractTextWebpackPlugin 和 mini-css-extract-plugin 提取 css。

这两个插件都可以用于提取 css 到独立的文件,ExtractTextWebpackPlugin 是 webpack v4 前大家都使用的插件, 现在也支持 webpack v4(不过在使用的时候发现有时会生成一些空的css文件), 而 mini-css-extract-plugin 是一个轻量级易于使用的基于 webpack v4 的插件,使用后感觉性能更好,大家可以尝试。


有关更多的特性,大家可以阅读官方 release note https://github.com/webpack/webpack/releases/tag/v4.0.0

 

尽管目前parcel 势头强劲, 但是短时间内还无法完全取代webpack。毕竟目前前端三大框架angular, react, vue 的cli工具都内置了webpack 来打包应用。

而且webpack团队非常善于学习对手的优势为己所用,所以2018年了,webpack升级了, 喜欢折腾的前端们也赶紧跟上吧!

开始入坑webpack4


12

往期精彩

开始入坑webpack4

·  

· 

· 

· 

以上是关于开始入坑webpack4的主要内容,如果未能解决你的问题,请参考以下文章

开始入坑webpack4

emacs开始入坑!

Weex 入坑指南:快速开始 Weex 之旅

入坑Java,开始Spring boot 的后端开发之路

摊牌了……开始入坑硬件开发……Arduion点亮oled小屏

推荐系统入坑