webpack详细配置
webpack详细配置:smile:
webpack详细配置之entry
1 | entry: 入口起点 |
webpack.config.js文件
1 | const { resolve } = require('path'); |
webpack详细配置之output
filename
:文件名称(指定名称+目录)。path
:输出文件目录(将来所有资源输出的公共目录)。publicPath
:所有资源引入公共路径前缀 –> ‘imgs/a.jpg’ –> ‘/imgs/a.jpg’。chunkFilename
:非入口chunk的名称,如:第一种情况:通过import语法,将文件单独分割成一个chunk,这个chunk的名称会采用这个
chunkFilename: 'js/[name]_chunk.js'
这个命名。第二种情况: 通过optimization将node_modules分割成单独的一个chunk,这个chunk的名称也会采用这个
chunkFilename: 'js/[name]_chunk.js'
这个命名。关于代码分割详细看:这里。
library
:整个库向外暴露的变量名。llibraryTarget: 'window'
变量名添加到哪个上 browser。libraryTarget: 'global'
变量名添加到哪个上 node。
webpack.config.js文件
1 | const { resolve } = require('path'); |
webpack详细配置之module
test: /\.css$/
:正则表达式,用来检测文件。loader: 'eslint-loader'
单个loader用loader。use: ['style-loader', 'css-loader']
多个loader用use。exclude: /node_modules/
排除node_modules下的js文件。include: resolve(__dirname, 'src')
只检查 src 下的js文件。enforce: 'pre'
优先执行。enforce: 'post'
延后执行。oneOf: []
以下配置只会生效一个。
webpack.config.js文件
1 | const { resolve } = require('path'); |
webpack详细配置之resolve
resolve解析模块的规则
- alias 配置解析模块路径别名: 优点简写路径 缺点路径没有提示。
- extensions 配置省略文件路径的后缀名。注意不能有相同的文件名。
- modules 告诉 webpack 解析模块是去找哪个目录,不用一个一个向上级目录去寻找,直接一步到位。
webpack.config.js文件
1 | const { resolve } = require('path'); |
webpack详细配置之 devserver
webpack.config.js文件
1 | devServer: { |
webpack详细配置之optimization
splitChunks
代码分割。runtimeChunk
将当前模块的记录其他模块的hash单独打包为一个文件 runtime。解决:修改a文件导致b文件的contenthash变化。minimizer
配置生产环境的压缩方案:js和css。
webpack.config.js文件
1 | const { resolve } = require('path'); |
Invitation
aqing
962555446
created:15/04/2021
Welcome to Candyhome
Use this card to join the candyhome and participate in a pleasant discussion together .
Welcome to aqing's candyhome,wish you a nice day .
评论