当前位置: 首页 > news >正文

webpack当中的代码分割详解

A.代码分割方法一:将原来的单入口文件改为多入口文件

将不同的文件例如js代码文件分为入口文件和测试文件,这个时候打包出来的代码就会根据不同的文件单独打包成属于他们自己的文件

 例如以下为单入口文件:

entry: './src/js/index.js'

 多入口文件:(在输出的时候将输出的文件名进行分类)

 entry: {// 多入口:有一个入口,最终输出就有一个bundleindex: './src/js/index.js',test: './src/js/test.js'},output: {// [name]:取文件名filename: 'js/[name].[contenthash:10].js',path: resolve(__dirname, 'build')}

B.使用splitChunks分离代码

当我们在文件当中引入了node_modules的包时,在打包之后可能打包工具会自动将node_modules当中的包打包进文件当中,这个时候使用以下代码:可以将引入的这些包单独打包,从而减小打包的体积

总的来说,功能就是:

    1. 可以将node_modules中代码单独打包一个chunk最终输出

    2. 自动分析多入口chunk中,有没有公共的文件。如果有会打包成单独一个chunk

  optimization: {splitChunks: {chunks: 'all'}}

完整代码:

const { resolve } = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {// 单入口// entry: './src/js/index.js',entry: {index: './src/js/index.js',test: './src/js/test.js'},output: {// [name]:取文件名filename: 'js/[name].[contenthash:10].js',path: resolve(__dirname, 'build')},plugins: [new HtmlWebpackPlugin({template: './src/index.html',minify: {collapseWhitespace: true,removeComments: true}})],/*1. 可以将node_modules中代码单独打包一个chunk最终输出2. 自动分析多入口chunk中,有没有公共的文件。如果有会打包成单独一个chunk*/optimization: {splitChunks: {chunks: 'all'}},mode: 'production'
};

C.通过js代码,让某个文件被单独打包成一个chunk

 通过js代码,让某个文件被单独打包成一个chunk

 import动态导入语法:能将某个文件单独打包

例如在js代码当中添加以下代码:

import('./test').then(({ mul, count }) => {console.log(mul(2, 5));}).catch(() => {console.log('文件加载失败~');});

这个时候在打包的时候就能将引入的这个test.js文件单独打包完成

相关文章:

webpack当中的代码分割详解

A.代码分割方法一:将原来的单入口文件改为多入口文件 将不同的文件例如js代码文件分为入口文件和测试文件,这个时候打包出来的代码就会根据不同的文件单独打包成属于他们自己的文件 例如以下为单入口文件: entry: ./src/js/index.js 多入口文件:(在输出…...

【SSM】Spring对IoC的实现方式DI详讲

控制反转的一种实现方式——依赖注入一、IoC 控制反转(Overview)依赖注入(DI)- Overview利用 IoC(控制反转)这种思想有什么好处呢?二、依赖注入的方式setter 方式(xml配置中的proper…...

【QT 5 相关实验-示波器-学习笔记-示波器组件练习与使用总结】

【QT 5 相关实验-示波器-学习笔记-示波器组件练习与使用总结】1、概述2、实验环境3、参考资料-致谢4、自我提升实验效果视频演示5、代码练习-学习后拆解-实验步骤(1)头文件部分-"mwaveview.h"(2)cpp文件部分-"mwav…...

二维数组中的查找(两种解法,各有千秋)

凡事都有可能,永远别说永远。——《放牛班的春天》今天一题为再一个行列都有序的二维数组中寻找一个目标值,我们第一时间想到的可能是很暴力的解法,例如从头到尾进行遍历,这样能做出来,但是借用武忠祥老师的一句话&…...

quartz使用及原理解析

quartz简介 ​ Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。但是相较于Timer, Quartz增加了很多功能: 持久性作业 - 就是保持调度…...

Datawhale组队学习:大数据 D2——分布式文件系统(HDFS)

妙趣横生大数据 Day2三、Hadoop 分布式文件系统(HDFS)1. 分布式文件系统2. HDFS 简介3. HDFS 体系结构4. HDFS存储原理数据冗余存储数据存储策略数据错误与恢复5. HDFS数据读写过程读写过程HDFS故障类型和其检测方法HDFS编程实验1. 本地和集群文件间操作2. 基本文件操作3. Hado…...

CCIE重认证-300-401-拖图题全

拖图 拖图题 编程 snippet;192.168.5.0,mask 255.255.255.0;number是192.168.5.0;mask是255.255.255.0 snippets;edit-config对config,loopback对name 100,address对primary,mask…...

如何动态的创建类?type的其他用法?什么是元类,如何自定义元类?

1、python中一切都是对象,类也不例外,type是object的子类,是创建类的类。 如何动态的创建一个类? 用脚丫子创建 用脑子创建 不会 不知道什么事动态类 大家可能会有一堆的疑惑,是的我也是有很多疑惑那让我们一起来探个…...

XCP实战系列介绍15-XCP故障排查指导

本文框架 1.概述2. 通过调试器排查2.1 打开Det功能2.2 如何确定Det ErrorCode3. 通过XCP应答报文排查3.1 FE报文组成及故障码对应关系3.2 举个例子1.概述 前面几篇文章我们介绍了基于Davinci开发工具的XCP配置指导,配好了,代码也生成了,但是程序一定能正常跑起来吗?就算软…...

吉林大学软件需求分析与规范(Software Requirements Analysis Specification)

chapter0课程简介:◼ 软件工程专业核心课程之一◼ 软件工程课程体系最前端课程◼ 主要内容:需求的基本概念,需求的分类,需求工程的基本过程,需求获取的方法、步骤、技巧,需求分析和建模技术,需求…...

PyTorch - Conv2d 和 MaxPool2d

文章目录Conv2d计算Conv2d 函数解析代码示例MaxPool2d计算函数说明卷积过程动画Transposed convolution animationsTransposed convolution animations参考视频:土堆说 卷积计算 https://www.bilibili.com/video/BV1hE411t7RN 关于 torch.nn 和 torch.nn.function t…...

leetcode Day2(昨天实习有点bug,心态要崩了)

int carry 0;for(int i a.size() - 1, j b.size() - 1; i > 0 || j > 0 || carry; --i, --j) {int x i < 0 ? 0 : a[i] - 0;int y j < 0 ? 0 : b[j] - 0;int sum (x y carry) % 2;carry (x y carry) / 2;str.insert(0, 1, sum 0);}return str;加一&a…...

另一种思考:为什么不选JPA、MyBatis,而选择JDBCTemplate

以下内容转载自&#xff1a;https://segmentfault.com/a/1190000018472572 作者&#xff1a;scherman 因为项目需要选择数据持久化框架&#xff0c;看了一下主要几个流行的和不流行的框架&#xff0c;对于复杂业务系统&#xff0c;最终的结论是&#xff0c;JOOQ是总体上最好的…...

LeetCode 338. 比特位计数

给你一个整数 n &#xff0c;对于 0 < i < n 中的每个 i &#xff0c;计算其二进制表示中 1 的个数 &#xff0c;返回一个长度为 n 1 的数组 ans 作为答案。 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;[0,1,1] 解释&#xff1a; 0 --> 0 1 --> …...

排序评估指标——NDCG和MAP

在搜索和推荐任务中&#xff0c;系统常返回一个item列表。如何衡量这个返回的列表是否优秀呢&#xff1f; 例如&#xff0c;当我们检索【推荐排序】&#xff0c;网页返回了与推荐排序相关的链接列表。列表可能会是[A,B,C,G,D,E,F],也可能是[C,F,A,E,D]&#xff0c;现在问题来了…...

[Android Studio] Android Studio Virtual Device(AVD)虚拟机的功能试用

&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Android Debug&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; Topic 发布安卓学习过程中遇到问题解决过程&#xff0c;希望我的解决方案可以对小伙伴们有帮助。 &#x1f680;write…...

kafka-3-kafka应用的核心要点和内外网访问

kafka实战教程(python操作kafka)&#xff0c;kafka配置文件详解 Kafka内外网访问的设置 1 kafka简介 根据官网的介绍&#xff0c;ApacheKafka是一个分布式流媒体平台&#xff0c;它主要有3种功能&#xff1a; (1)发布和订阅消息流&#xff0c;这个功能类似于消息队列&#x…...

VS2017+OpenCV4.5.5 决策树-评估是否发放贷款

决策树是一种非参数的监督学习方法&#xff0c;主要用于分类和回归。 决策树结构 决策树在逻辑上以树的形式存在&#xff0c;包含根节点、内部结点和叶节点。 根节点&#xff1a;包含数据集中的所有数据的集合内部节点&#xff1a;每个内部节点为一个判断条件&#xff0c;并且…...

Prometheus 记录规则和警报规则

前提环境&#xff1a; Docker环境 涉及参考文档&#xff1a; Prometheus 录制规则Prometheus 警报规则 语法检查规则 promtool check rules /path/to/example.rules.yml一&#xff1a;录制规则语法 groups 语法&#xff1a; groups:[ - <rule_group> ]rule_group…...

(API)接口测试的关键技术

接口测试也就是API测试&#xff0c;从名字上可以知道是面向接口的测试活动。所以在讲API测试之前&#xff0c;我们应该说清楚接口是什么&#xff0c;那么接口就是有特定输入和特定输出的一套逻辑处理单元&#xff0c;而对于接口调用方来说&#xff0c;不用知道自身的内部实现逻…...

Phi-4-Reasoning-Vision部署案例:中小企业AI视觉分析私有化部署

Phi-4-Reasoning-Vision部署案例&#xff1a;中小企业AI视觉分析私有化部署 1. 项目背景与价值 在中小企业数字化转型过程中&#xff0c;AI视觉分析技术正成为提升运营效率的关键工具。传统方案往往面临两大痛点&#xff1a;一是商业API调用成本高且数据隐私难保障&#xff1…...

Llama-3.2V-11B-cot部署案例:中小企业低成本构建AI图文分析工作台

Llama-3.2V-11B-cot部署案例&#xff1a;中小企业低成本构建AI图文分析工作台 1. 项目概述 Llama-3.2V-11B-cot是基于Meta最新多模态大模型开发的专业级视觉推理工具&#xff0c;专为中小企业打造的低成本AI图文分析解决方案。该工具针对双卡RTX 4090环境进行了深度优化&…...

终极DBeaver多线程查询优先级控制:基于查询类型的动态调整指南

终极DBeaver多线程查询优先级控制&#xff1a;基于查询类型的动态调整指南 【免费下载链接】dbeaver DBeaver 是一个通用的数据库管理工具&#xff0c;支持跨平台使用。* 支持多种数据库类型&#xff0c;如 MySQL、PostgreSQL、MongoDB 等&#xff1b;提供 SQL 编辑、查询、调试…...

Phi-4-Reasoning-Vision智能助手:医疗影像图文问答系统构建实践

Phi-4-Reasoning-Vision智能助手&#xff1a;医疗影像图文问答系统构建实践 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具&#xff0c;专为医疗影像分析场景优化。该系统能够理解医学影像内容并回答专业问题…...

【数据结构实战】循环队列FIFO 特性生成六十甲子(天干地支纪年法),实现传统文化里的 “时间轮回”

前言天干地支纪年法是中国传统文化的重要组成部分&#xff0c;十天干与十二地支依次相配&#xff0c;组成六十甲子。本文将使用循环队列这一数据结构完成六十甲子的生成&#xff0c;严格遵循题目要求&#xff1a;定义两个循环队列&#xff0c;分别存储十天干、十二地支队列空则…...

【架构实战】分布式事务解决方案

一、分布式事务的挑战 在微服务架构下&#xff0c;一个业务操作可能涉及多个服务的数据修改。传统的本地事务无法保证跨服务的数据一致性。 经典场景&#xff1a; 用户下单 → 订单服务扣库存 → 支付服务扣余额 → 物流服务创建运单任何一步失败&#xff0c;都需要回滚之前的操…...

泰克TBS2000示波器保存功能全攻略:从U盘插入到图片导出(附最佳格式选择)

泰克TBS2000示波器高效保存指南&#xff1a;从硬件操作到专业文档整合 在电子工程实验室的日常工作中&#xff0c;波形数据的保存与共享是每个工程师都会遇到的高频需求。传统用手机拍摄屏幕的方式不仅画质堪忧&#xff0c;还常常因为反光、角度偏差导致关键参数无法辨识。泰克…...

Web开发中前端与Node服务中的信息安全与解决办法

Web开发中前端与Node服务中的信息安全与解决办法 input限制特殊字符和长度 漏洞描述&#xff1a; 永远不要相信用户输入的信息&#xff0c;如常规的注入脚本通过input输入之后被页面执行 整改办法 方法1&#xff1a;对于vue项目中ElementUI的el-input 和 原生input <el-in…...

[2026 职场洗牌系列 01] 程序员正在“杀死”自己的工作?科技行业高危预警

长久以来&#xff0c;学计算机&#xff08;CS&#xff09;在很多年轻人眼里就等同于拿到了通往高薪和阶层跃升的金钥匙。大家都觉得&#xff0c;只要把代码敲得溜&#xff0c;这辈子在职场上基本就稳了。可惜&#xff0c;到了2026年的今天&#xff0c;生成式AI正在毫不留情地把…...

Imatest SFR模块实战:从ISO 12233测试卡到MTF指标解析

1. Imatest SFR模块入门指南 第一次接触Imatest SFR模块时&#xff0c;我完全被各种专业术语搞懵了。后来在实际项目中反复使用才发现&#xff0c;这其实就是个"相机体检仪"——通过分析ISO 12233测试卡上的斜边&#xff0c;就能给相机镜头做个全面体检。想象一下医生…...