多个html引入重复文件,用JS实现避免重复加载相同js文件

这篇博客介绍了如何利用原生JS实现一个名为common.js的脚本,确保同一个资源如1.js在多个HTML中引入时只加载一次,提高了性能和用户体验。通过创建RequireHelper类,检查模块是否已加载,从而避免重复请求。示例代码展示了require函数的工作原理,以及在xd1.js的加载场景中如何应用这个策略。
摘要由CSDN通过智能技术生成

我们在日常开发过程中,可能有重复加载同一个资源例如:1.js,为了提高性能和用户体验这里我们用原生JS实现同一个资源只加载一次。

下面是 common.js里的JS代码

//使用沙箱模式防止污染外面的变量

; (function () {

//让外面可以只能访问到require变量

window.require = require;

//定义一个加载模块的方法

function require(moduleName, callback) {

//创建加载模块的具体实现类

var requireHelper = new RequireHelper(moduleName, callback);

//调用加载模块类的load方法加载模块

requireHelper.load();

}

//存储已加载模块的信息

var moduleList = [];

//创建一个实体类,给传进来的属性赋值

function RequireHelper(moduleName, callback) {

this.moduleName = moduleName;

this.callback = callback;

}

//给模块加载实现类的原型添加方法

RequireHelper.prototype = {

//加载模块

load: function () {

var that = this;

var moduleName = that.moduleName;

if (that.isLoad()) {//模块已

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值