webpack升级指南

Posted Analysys易观

tags:

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


导读

前端开发的同学基本上都知道,webpack现在已经是主流的前端项目构建工具,从1版本到现在的4版本(以下简称webpack4),webpack进行了多次优化,目的是让前端构建的门槛更低,操作更简单方便。本文将从webpack4升级后的一些新特点开始,然后讲解怎么从低版本升级到webpack4。


入口(entry)


默认值:./src/index.js。新版本的webpack有了默认入口,不用再特意指定,其作为构建内部依赖的开始,当然也可以指定多个入口起点。


webpack升级指南


出口(output)

 

默认值:./dist/main.js,其他生成文件的默认输出目录是./dist。output有三个主要的属性:

1.filename 用于输出文件的文件名

2.path 目标输出目录,须写绝对路径

3.publicPath 输出解析文件的目录,url相对于html页面


webpack升级指南


Loader

 

webpack的配置中loader有两个特征:

1.test属性,用于标识出应该被对应的loader进行转换的某个或某些文件

2.use属性,表示进行转换时,应该使用哪个loader


webpack升级指南


插件(plugins)

 

插件的范围包括:打包优化、资源管理和注入环境变量


webpack升级指南


模式

 

这个是webpack4新增的功能,通过指定mode参数,启用对应环境下webpack内置的优化。有三个可选参数:development,production,none。默认值为production。下图显示的是各个模式下,webpack4内置的一些功能。


webpack升级指南


浏览器兼容性及其他

 

1.webpack支持所有ES5兼容(IE8及以下不提供支持)的浏览器。

2.webpack的import() 和 require.ensure() 需要环境中有Promise。

3.如果想要支持旧版本浏览器,可以加载一个polyfill。

4.webpack4会默认解析.wasm,.mjs,.js,.json为后缀的文件。

5.在使用前端路由时(如vue-router),本地开发中可能遇到刷新页面显示404的情况。这时可以配置devServer中的historyApiFallback,其表示:任意的404响应都会被替代为index.html。

有如下多种写法:


webpack升级指南


升级填坑

 

1.必须安装webpack4的三个基础包:webpack,webpack-cli,webpack-dev-server

2.mode不能缺少,否则会报警告。

3.对于使用html-webpack-plugin钩子的时候需要注意webpack里面hooks的变化,需要改写,同时必须把html-webpack-plugin升级到最新版本,目前是next版本。否则可能会报如下错误:


webpack升级指南


改写示例:


webpack升级指南


4.webpack4针对ExtractTextWebpackPlugin做了调整,可以使用其next版本,现在推荐使用mini-css-extract-plugin插件。

5.在vue项目中使用vue-style-loader就不要使用mini-css-extract-plugin的loader,否则会报错,可以删除vue-style-loader的使用。


webpack升级指南


webpack升级指南


6.webpack4不再支持CommonsChunkPlugin,改用optimization。


webpack升级指南


总结

 

以上是在实战中的一些经验总结,大家在升级webpack4的过程中可能还遇到其他的一些问题,欢迎来交流。总的来说webpack4在很大程度上减少了一些繁杂的配置,目的是让使用的门槛更低,但相较于parcel的零配置构建,依然还是复杂了些,可以将parcel用于本地开发环境,因为其build之后的文件相比webpack构建出的文件还是大了不少,生产环境还是建议大家用webpack来配置出一套适用于本公司项目的配置。

webpack升级指南


webpack升级指南


点击文末“阅读原文”  即刻体验易观方舟!


 “阅读原文”,即刻体验易观方舟!

万水千山总是情,点个 “好看” 行不行!!!


以上是关于webpack升级指南的主要内容,如果未能解决你的问题,请参考以下文章

记一次webpack3升级webpack4的踩坑

webpack配置指南

vue webpack3 升级webpack4

vue-webpack模板升级到webpack4

Webpack构建性能优化指南

无痛升级到 Webpack 4 指南