webpack属性配置

属性类型作用
entrystring、object(多入口)指定入口文件
outputobject指定文件的出口(详细信息看下文output配置)
modestringdevelopment、 production(默认, 对代码进行压缩)、none(不进行处理)
moduleobject解析除了js、json之外的文件(详细信息查看下文module.rules 配置)
pluginsarray使用各种插件 eg:[new htmlWebpackPlugin()]
devServerobject开发环境配置(详细配置查看下文devServe配置)
devtoolstring配置辅助工具(详细配置查看下文courseMap类型)
optimizationobject集中配置webpack优化功能(详细配置查看下文optimization配置)

output配置

属性类型作用
filenamestring指定文件名称
pathstring指定输入文件目录(path.join(__dirname, ‘dist’))
publicPathstring指定根目录(‘dist/’), 一般不需要指定,可以自动引入

module.rules 配置

属性类型作用
test正则表达式判断文件类型
usestring、array、object处理不同文件的loader,loader为数组时执行顺序从后往前执行(类型为object详细信息查看下文use配置)

use配置(Object)

属性类型作用
loaderstring文件转换
optionarray基础配置

eg: 图片、字体等资源处理,小于10KB 进行base64转换并且嵌入到页面中, 大于10KB不进行压缩

devServe 配置

属性类型作用
contentBasestring为开发服务器指定查找资源目录
portnumber端口
proxyobject配置代理
hotboolean是否开启热更新(需要在plugin中调用 new webpack.HotModuleReplacementPlugin())
hotOnlyboolean当页面出现错误时不会执行热更新

courseMap类型

属性类型是否生成对应的sourceMap文件是否源代码特点
evelstringnono使用evel函数包装
evel-source-mapstringyesno能定位到行列信息
cheap-evel-source-mapstringyesno只能定位到行
cheap-module-evel-source-mapstringyesyes能定位到源码错误位置
inline-source-mapstringyesno嵌入到url中
hidden-source-mapstringyesno影藏sourceMap文件
nosource-source-mapstringyesno看不到代码信息

建议:开发环境:cheap-module-eval-source-map(会显示出源码错误位置)
生成坏境: nosource-source-map(不会暴漏源码,只会抛出错误位置)

optimization配置

属性类型作用
usedExportsboolean标记未使用代码
minimizeboolean、array(自定义压缩插件)去除无用代码
concatenateModulesboolean尽可能将所有的模块放到同一个函数中
sideEffectsboolean判断是否有副作用
splitChunksobject设置spllitChunks.chunks = all提取公共模块

html-webpack-plugin 属性配置

属性类型作用
titlestringhtml文件标题
metaobject指定窗口大小
templatestring指定模板路径
filenamestring指定文件名称(默认index.html)
// webpack.config.js中配置
// npm install html-webpack-plugin --save-dev

const htmlWebpackPlugin = require('html-webpack-plugin')
plugins: [
	new htmlWebpackPlugin({
     title: 'cache',
     meta: {
      	viewport: 'width-device-width'
     },
     template: './src/index.html'
  })
]

常用loader

  1. css-loder 处理css
  2. style-loader 生成style标签并且添加到项目中
  3. file-loader 处理图片、字体等资源文件
  4. url-loader 压缩图片、字体等资源文件并且转换成base64格式,减少请求次数
  5. babel-loader js转换loader (需要配置’@babel/preset-env’)
  6. html-loader 对html文件进行处理(默认会处理img src属性)

常用plugin

  1. clean-webpack-plugin 自动清除输出目录
  2. html-webpack-plugin 自动生成html文件
  3. copy-webpack-plugin 拷贝不需要处理的文件, 指定输出目录([‘public’])
  4. mini-css-extract-plugin 实现css的按需加载(样式文件不是很大建议不要单独提取150kb)
  5. optimize-css-assets-webpack-plugin 压缩css文件

常用插件

  1. webpack-dev-server 提供了一个简单的web服务器,能够热更新当前项目
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜丶陌颜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值