配置总结篇
前面的打包涉及的配置虽然少但是也有,初期希望大家记住常用的,也就是用的上的就学。有些配置的业务场景少,不常用,但还是需要学习一下
路径前缀 publicPath
最开始给你讲publicPath你肯定会疑惑,但是现在你看多了打包之后自然能明白:它是给所有的相对路径,添加公共前缀。
webpack打包后的文件确实能够正常的相互链接,但是当遇到history路径的时候出现了问题(origin/index/otherPath),webpack打包的资源路径默认是相对路径引入,在这个url下的话,出现资源错乱引入。
因此,publicPath大家常规都设置为 '/',表示直接在 origin 下,这样所有的资源加载路径都是一致的
Output
-
chunkFilename:入口的(无论是单入口还是多入口)chunk的输出配置都在 output配置,但是还有其它的分割方式:async import(注意不包含splitCount,它的名字默认为 chunk-property.js),它产生的chunk,默认的名称可以通过 chunkFilename 配置
-
library:将一个module额外的暴露全局变量出去,一般在第三方库使用。详细参考 library
library = { name: "[name]",//整个库向外暴露的变量名 type: "window",//库暴露的方式 } -
pathinfo: false, 关闭打包时输出的路径信息
Module
-
noParse module.noParse
-
condition 条件判断
-
include / exclude 包括和排除
-
enforce 前置/后置 loader
optimization 优化配置项
- minimize: boolean,只有为true时候才会使用 minimizer 里的插件,进行优化
- minimizer: 压缩插件 [],比如css压缩,js压缩,html的压缩可以通过html-webpack-plugin自己支持
- runtimeChunk:打包runtimeChunk的配置
ModulesAPI 模块化API
比如之前用到的:import.meta.url,require.resolve