webpack 0-1 配置 以及 (性能优化)
五大核心:
模式 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 配置 以及 (性能优化)的更多相关文章
- [记录]NGINX配置HTTPS性能优化方案一则
NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...
- vue-cli3项目搭建配置以及性能优化
项目初始化 注意:安装前请确保有安装node.js,并且node>=8.9 全局安装vue npm install -g @vue/cli 如果之前安装了vue旧版本,查看vue --versi ...
- mysql配置以及性能优化(转)
MySQL配置文件my.cnf中文详解,附mysql性能优化方法分享 ================================================================= ...
- Tomcat安全配置与性能优化
Tomcat 是 Apache软件基金会下的一个免费.开源的WEB应用服务器,它可以运行在 Linux 和 Windows 等多个平台上,由于其性能稳定.扩展性好.免费等特点深受广大用户喜爱.目前,很 ...
- nginx全局配置和性能优化
nginx目录结构和命令 1.ls /apps/nginx/: html是测试页,sbin是主程序 2.ls /apps/nginx/sbin/: nginx 只有一个程序文件 3. ...
- Tomcat 安全配置与性能优化
一.Tomcat内存优化 1.JAVA_OPTS参数说明 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OP ...
- Tomcat8安装, 安全配置与性能优化(转)
一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...
- Tomcat8安装, 安全配置与性能优化
一.Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于 ...
- Nginx基本配置、性能优化指南
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能 ...
- 绝对详细!Nginx基本配置、性能优化指南
大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了!而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能 ...
随机推荐
- .NET 摄像头采集
本文主要介绍摄像头(相机)如何采集数据,用于类似摄像头本地显示软件,以及流媒体数据传输场景如传屏.视讯会议等. 摄像头采集有多种方案,如AForge.NET.WPFMediaKit.OpenCvSha ...
- 淘宝api接口,淘宝开放平台api接口
目前淘宝开放平台是暂停入驻的,正常情况来说,用这个接口的人是为了打单发货,但是由于淘宝暂停入驻,所以大家也无法接入了. 目前本人手头有很早申请好的可以使用的接口,可以用于以下用途: 1.淘宝订单打单发 ...
- 【YashanDB知识库】YashanDB的JDBC/OCI驱动如何设置字符编码
问题现象 Oracle.Mysql数据库链接串,JDBC驱动连接串可以指定客户端的编码格式: jdbc:mysql://hostname:port/database_name?useUnicode=t ...
- 关于高清显示屏下canvas绘制模糊问题探索处理
一般场景 我们看下,我们在高清显示屏下,实现这样一个内容,里面填充颜色及文字.第一种是用普通div元素的方式绘制,第二种就是用canvas的方式来绘制,示例效果如下: 从图上我们可以看出,普通div的 ...
- ASP.NET Core – DateTime, DateTimeOffset, DateOnly, TimeOnly, TimeSpan, TimeZone, NodaTime 使用基础
前言 心血来潮,这篇讲点基础的东西. 对日期和时区 timezone 不熟悉的读者,请先看这篇 Time Zone, Leap Year, Date Format, Epoch Time 时区, 闰年 ...
- Wpf使用NLog将日志输出到LogViewer
1 LogViewer LogViewer是通过UDP传输的高性能实时log查看器. 具有一下特性: 通过UDP读取日志 通过文件导入日志 导出日志到一个文件中 排序.过滤(日志树,日志等级)和查找 ...
- CSP-S 2023 游记
CSP-S 2023 游记 Day 0 明天便是 CSP-S 第一轮了,考试前一天万万不能学什么太复杂,太深奥的东西,最好甚至不要过于强度的用脑,保持放空的轻松地状态,心中不要有压力才是最好的考前状态 ...
- iOS关于高德地图定位和热点搜索使用小结
最近项目刚刚忙完,有空整理一下用到的相关技术点.地图是比较常见的功能模块,现在用的比较多的是地图当前位置显示,公交.骑行.步行路线信息,附近热点位置搜索.现在国内用的比较多的是高德.百度,国外的话可以 ...
- vuex 基本代码规范 js 文件
import Vue from "vue"; import Vuex from "vuex"; import { setItem, getItem } from ...
- FFmpeg开发笔记(五十五)寒冬里的安卓程序员可进阶修炼的几种姿势
喊了多年的互联网寒冬,今年的寒风格外凛冽,还在坚守安卓开发的朋友着实不容易.因为能转行的早就转了,能转岗的也早就转了,那么安卓程序员比较迷茫的就是,我该学什么安卓技术才好呢?还是直接扔了安卓再去搞别 ...