前端工程化之webpack

一、打包css
1、plugin: (1)'mini-css-extract-plugin':将所有css文件打包成一个文件
2、css-loader:默认会打包图片
二、打包js
1、babel
三、全局引入
1、expose-loader //暴露在window上
2、providePlugun //给每个模块提供
3、通过cdn引入,用externals排除node_models相应的包参与打包
三、源码映射
devtool: 'source-map' //打包后会产生单独一个源码文件
devtool: 'eval-source-map' //打包后不会单独产生一个源码文件,但也可以看到源码的行和列  用在开发环境
devtool: 'cheap-module-source-map' //用在生产环境,看不到行和列
四、给引入的文件加上一个公共路径
output: {
    publicPath: 'http://...'
}
五、实时打包
watch: true
六、清空历史打包文件
cleanWebpackPlugin
七、复制不需要打包的文件,如.txt文件
copy-webpack-plugin
八、解决跨域问题,webpack-dev-server会起一个服务做代理

```js
devServer: {
    proxy: {
        '/api': {
            target: '服务端地址',
            pathRewrite:{'/api': ''}
        }
    }
}
```
九、解析第三方包

![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3cd520472c4f491989fc2b8e35ddeadd~tplv-k3u1fbpfcp-watermark.image?)
十、定义环境变量(生产环境或开发环境)
new webpack.DefinPlugin({
    
})
十一、不去解析没必要的包(如:jq),加速打包时间
noParse: /jquery/,
rules: [{
test: /\.js$/,
exclude: /node_modules/,
include: path.resolve('src')
}]

![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/80eee37a2fd1452597c1e0fa419d3b3a~tplv-k3u1fbpfcp-watermark.image?)
十二、多线程打包
happyPack
十三、按需打包
webpack在production环境中,如果用的是import导入,会自动使用按需打包,
tree-shaking,不打包没用上的代码
require语法是不会自动做tree-shaking
十四、自动简化代码
webpack在生产环境中会自动简化代码如:一些多余的变量声明,会被去除
十五、抽取公共模块,抽取第三方包

![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1ec281b5a0014dca9549dec71d83b639~tplv-k3u1fbpfcp-watermark.image?)
十六、webpack提供的依赖懒加载方案
import() //会把依赖打包生成一个单独的文件

![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/0e3032bd1073488c833fe6a86d31528f~tplv-k3u1fbpfcp-watermark.image?)
十七、热更新
devServer: {
    hot: true
}

![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ae2dc6f9c5f44b1681a44ebb15cbb430~tplv-k3u1fbpfcp-watermark.image?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值