五大核心:

模式 production development
mode: 'development',

入口
entry: './src/js/index.js',

loader的配置
module: {},

plugins的配置
plugins: [],

输出
output: {},

开发环境:

loader的配置

处理css

处理less

处理图片

处理其他资源

plugins的配置

开发服务器

生产环境:

主要是对html、js、css、img压缩 以及兼容性的处理

css 、less 的兼容性处理,提取js中的css成单独文件,loader简单封装

js的语法检查以及兼容性处理

图片的压缩以及其他资源的打包

html、css的压缩 js在生产环境下会自动压缩

webpack的优化

# webpack性能优化
* 开发环境性能优化
* 生产环境性能优化

## 开发环境性能优化
* 优化打包构建速度
   * HMR

* 优化代码调试
   * source-map

## 生产环境性能优化
* 优化打包构建速度
   * oneOf
   * babel 缓存
   * 多进程
   * externals
   * dll
* 优化代码运行的性能
   * 缓存(hash-chunkhash-contenthash)
   * tree shaking 树摇 去除无用代码 前提es6
   * code split 代码分割
   * 懒加载、预加载
   * pwa

开发环境-优化

HMR

开发模式的代码调试优化   devtool: 'eval-soure-map'

生产环境-优化

oneOf 优化生产环境打包速度

babel缓存、文件资源缓存

由于资源在强制缓存期间不会访问服务器,未更新,所以给资源名称做处理 加hash值

tree shaking:树摇 为了去除无用代码,只打包使用代码

代码分割,将文件分成多个文件,按需加载,主要是js代码

1.通过多入口来拆分文件,不太灵活

2. optimization

比如 多个文件中 都引入 jquery 库

3. 通过js来让某个文件被单独打包成一个chunk

默认根据id来命名,比如0.js;  可以通过注释来修改chunk名称

/* webpackChunkName: 'test' */

js文件的 懒加载、预加载

比如:两个文件被引入,会一起加载

// 懒加载:当文件需要使用时才加
     // 预加载 prefetch:会在是用之前,提前加载js文件

PWA

渐进式网络开发应用程序(离线可访问技术)

谷歌开源插件 workbox --> workbox-webpack-plugin

需要在入口文件中注册serviceWorker / 处理兼容性问题

1. 编译会报错

2. serviceWorker代码必须运行在服务器上

注册成功

多进程

建议:js代码多的情况下使用,js少的话反而起可能起到反作用 ,勿滥用

externals 忽略打包第三方文件

dll 动态连接库

使用dll技术,对某些库(第三方库:jquery/react/vue)进行单独打包

需要单独创建文件

通过dll 将jquey打包好以后 以后可直接引用即可

webpack 0-1 配置 以及 (性能优化)的更多相关文章

  1. [记录]NGINX配置HTTPS性能优化方案一则

    NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...

  2. vue-cli3项目搭建配置以及性能优化

    项目初始化 注意:安装前请确保有安装node.js,并且node>=8.9 全局安装vue npm install -g @vue/cli 如果之前安装了vue旧版本,查看vue --versi ...

  3. mysql配置以及性能优化(转)

    MySQL配置文件my.cnf中文详解,附mysql性能优化方法分享 ================================================================= ...

  4. Tomcat安全配置与性能优化

    Tomcat 是 Apache软件基金会下的一个免费.开源的WEB应用服务器,它可以运行在 Linux 和 Windows 等多个平台上,由于其性能稳定.扩展性好.免费等特点深受广大用户喜爱.目前,很 ...

  5. nginx全局配置和性能优化

    nginx目录结构和命令 1.ls /apps/nginx/:         html是测试页,sbin是主程序 2.ls /apps/nginx/sbin/:  nginx 只有一个程序文件 3. ...

  6. Tomcat 安全配置与性能优化

    一.Tomcat内存优化 1.JAVA_OPTS参数说明 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OP ...

  7. Tomcat8安装, 安全配置与性能优化(转)

    一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...

  8. Tomcat8安装, 安全配置与性能优化

    一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...

  9. Nginx基本配置、性能优化指南

    大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能 ...

  10. 绝对详细!Nginx基本配置、性能优化指南

    大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能 ...

随机推荐

  1. Linux——添加默认路由(能ping通本网段,但是ping不通其他网段)

    2024/07/15 1.问题描述 2.问题处理 3.其他问题 1.问题描述 昨天服务器突然断电,今天重启后,网络出了些问题,具体情况如下: 能ping通本机IP ping不通网关 ping不通本网段 ...

  2. maven 插件之 maven-shade-plugin,解决同包同名 class 共存问题的神器

    开心一刻 有一天螃蟹出门,不小心撞倒了泥鳅泥鳅很生气地说:你是不是瞎啊!螃蟹说:不是啊,我是螃蟹 概述 maven-shade-plugin 官网已经介绍的很详细了,我给大家简单翻译一下 This p ...

  3. Web 国际化:新增越南语语系(vue i18n)

    前提: 1. 在src/locales文件夹中,新增vi.json文件 背景: 1. vue 步骤: 1. 在main.js中, import VueI18n from 'vue-i18n' Vue. ...

  4. Blender - 动画demo体后感

    Blender 一个非常不错的免费的3D.2D软件 超级不错 我初步的按照网上的动画教程,做了一个很简单的 不断跳动的独眼球 为什么独眼?一开始我是画了两个眼睛,结果最后总是出了点问题,没有办法cop ...

  5. KernelWarehouse:英特尔开源轻量级涨点神器,动态卷积核突破100+ | ICML 2024

    动态卷积学习n个静态卷积核的线性混合,加权使用它们输入相关的注意力,表现出比普通卷积更优越的性能.然而,它将卷积参数的数量增加了n倍,因此并不是参数高效的.这导致不能探索n>100的设置(比典型 ...

  6. 科技助力上亿用户隐私安全保护,合合信息两款产品再获CCIA PIA星级标识

    随着互联网技术的飞速发展,个人信息的收集.存储.使用和传输变得日益频繁,其泄露和滥用的风险也随之增加,个人信息保护已成为社会共同关注的热点议题.近期,"中国网络安全产业联盟(CCIA)数据安 ...

  7. GRLSTM: 基于图的残差LSTM轨迹相似性计算《GRLSTM: Trajectory Similarity Computation with Graph-Based Residual LSTM》(轨迹路网融合、知识图谱嵌入、图神经网络、残差网络、点融合图、多头图注意力网络GAT、残差LSTM、点感知损失函数(图的点损失函数、轨迹的点损失函数))

    2023年10月18日,14:14. 来不及了,这一篇还是看的翻译. 论文:GRLSTM: Trajectory Similarity Computation with Graph-Based Res ...

  8. 关于 xfg 的班会

  9. WPF下使用FreeRedis操作RedisStream实现简单的消息队列

    Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息, ...

  10. MobileNet V2中InvertedResidual实现

    1.为了方便理解其本身结构,找到源码理解一下. 2.论文地址:http://arxiv.org/pdf/1801.04381.pdf 3.V2相比较V1增加了倒残差结构和线性瓶颈层.整个结构按照维度来 ...