webpack 入口和出口的最佳实践

news/2024/11/14 5:55:18/

入口和出口的最佳实践 {ignore}

具体情况具体分析

下面是一些经典场景

一个页面一个JS

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

源码结构

|—— src|—— pageA   页面A的代码目录|—— index.js 页面A的启动模块|—— ...|—— pageB   页面B的代码目录|—— index.js 页面B的启动模块|—— ...|—— pageC   页面C的代码目录|—— main1.js 页面C的启动模块1 例如:主功能|—— main2.js 页面C的启动模块2 例如:实现访问统计的额外功能|—— ...|—— common  公共代码目录|—— ...

webpack配置

module.exports = {entry:{pageA: "./src/pageA/index.js",pageB: "./src/pageB/index.js",pageC: ["./src/pageC/main1.js", "./src/pageC/main2.js"]},output:{filename:"[name].[chunkhash:5].js"}
}

这种方式适用于页面之间的功能差异巨大、公共代码较少的情况,这种情况下打包出来的最终代码不会有太多重复

一个页面多个JS

在这里插入图片描述

源码结构

|—— src|—— pageA   页面A的代码目录|—— index.js 页面A的启动模块|—— ...|—— pageB   页面B的代码目录|—— index.js 页面B的启动模块|—— ...|—— statistics   用于统计访问人数功能目录|—— index.js 启动模块|—— ...|—— common  公共代码目录|—— ...

webpack配置

module.exports = {entry:{pageA: "./src/pageA/index.js",pageB: "./src/pageB/index.js",statistics: "./src/statistics/index.js"},output:{filename:"[name].[chunkhash:5].js"}
}

这种方式适用于页面之间有一些独立、相同的功能,专门使用一个chunk抽离这部分JS有利于浏览器更好的缓存这部分内容。

思考:为什么不使用多启动模块的方式?

单页应用

所谓单页应用,是指整个网站(或网站的某一个功能块)只有一个页面,页面中的内容全部靠JS创建和控制。 vue和react都是实现单页应用的利器。

在这里插入图片描述

源码结构

|—— src|—— subFunc   子功能目录|—— ...|—— subFunc   子功能目录|—— ...|—— common  公共代码目录|—— ...|—— index.js

webpack配置

module.exports = {entry: "./src/index.js",output:{filename:"index.[hash:5].js"}
}

http://www.ppmy.cn/news/1443566.html

相关文章

linux-系统安全与应用

目录 一、账号安全基本措施 1.系统账号清理 2.密码安全控制 3.历史命令安全管理 4.限制su切换用户 二、Linux中的PAM安全认证 1.PAM简介 2.PAM认证原理 3.PAM的配置文件 三、使用sudo提权 四、使用别名进行授权 五、开关机安全控制 1.GRUB限制 2 禁止普通用户登录…

OceanBase开发者大会实录-杨传辉:携手开发者打造一体化数据库

本文来自2024 OceanBase开发者大会,OceanBase CTO 杨传辉的演讲实录—《携手开发者打造一体化数据库》。完整视频回看,请点击这里>> 各位 OceanBase 的开发者,大家上午好!今天非常高兴能够在上海与大家再次相聚&…

Springboot自定义注解+aop实现redis自动清除缓存功能

假如我们是一个商家,我们在管理端 设置好菜品之后,每次不同的用户访问我们的菜品,都要查询数据库,当访问者多的时候,会造成数据库的卡顿,所以使用redis进行缓存,这样只需要读取一次数据库&#…

质量管理,怎能不知道SPC?

SPC(统计过程控制)是质量管理的一个重要组成部分,它可以帮助企业更好地控制生产过程、提高产品质量、降低生产成本、增强企业的竞争力。 SPC是一种应用统计技术对过程中的各个阶段进行评估和监控,建立并保持过程处于可接受的并且稳…

【OceanBase诊断调优】—— OceanBase 数据库日志解读

适用版本:V2.1.x、V2.2.x、V3.1.x、V3.2.x observer.log 日志 OBServer 启动日志 搜索关键字: [NOTICE] 日志说明: OBServer 启动过程中比较关键的日志信息。 [2023-05-11 14:19:09.703272] INFO [SERVER] ob_server.cpp:533 [95303][0]…

【Python 对接QQ的接口】简单用接口查询【等级/昵称/头像/Q龄/当天在线时长/下一个等级升级需多少天】

文章日期:2024.04.28 使用工具:Python 类型:QQ接口 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法)&…

verilog 从入门到看得懂---matlab 自动生成verilog

matlab 的强大不用多说,以前经常用simulink 生成c,最近尝试用simulink进行了verilog的生成,方法也很简单。 一个简单的示例如下。 1,新建一个模型文件,并且根据需要进行模型搭建 2.配置HDL生成模块 3.点击 generation…

ip https证书360

https证书主要作用是保障网络安全,在http协议的基础上通过SSL/TLS加密技术实现安全通信协议。对客户端以及服务器之间的传输数据进行加密,确保数据的完整性和机密性,维护用户隐私。通过HTTPS协议,我们可以安全地进行在线购物、网上…