编写模块化的jquery插件

模拟淘宝商城 这两个星期接触了 模块化开发的三大规范:common.js 、amd.和 cmd 此外为了便于 css 编写,采用 css 的扩展语言sass。 git 地址:https://github.com/SuYaru/taobao.git 这里主要对这次项目做一个经验总结吧 一、h5 和 css 部分 因为模拟的是淘宝商城,因此主要研究他的主页结构、登陆、注册、详情页(开头部分)、购物... 阅读详情

这篇博客是解决了jquery加载jquery.cookie插件,jquery加载失败的问题。

这两天看了点儿requirejs,于是开始尝试编写模块化的Javascript代码,于是,特别想应用到项目中去。

废话不多说,鄙人菜鸡一枚,就不赘述requirejs的API了,不懂的朋友请自行到它的官方网站查看。

然后,我急切的将它应用到项目中,第一个问题就让我懵逼了,得益于这个问题,让我学到了新东西。


我的项目结构是没有错,打开F12,查看jquery先是被加载进来了,然后又被改掉了,于是,好吧,各方查资料,没有答案,是在下输了。

没法就自己改jquery.cookie的源码好了。

不看不知道,一看吓一跳:

先上没改的源代码(最开始的几行):

function(factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD
        define(['../jquery'], factory);
    } else if (typeof exports === 'object') {
        // CommonJS
        factory(require('jquery'));
    } else {
        // Browser globals
        factory(jQuery);
    }
}
于是,问题就处在define上面,它让requirejs到上层目录去找jquery,我的项目目录jquery和jquery.cookie是在同一目录下,肯定是找不到的。

于是将它改成define("jquery",factory),就可以了。

请仔细看这段代码,然后就开始感慨了,这歪果仁怎么这么厉害呢,我怎么就想不到呢?

一个立即执行的函数里面传入factory参数,真正起作用的就是就是这个factory了,然后在函数里面执行以后,便满足了AMD或者CommonJS的语法规范了。真是字字珠玑啊!

于是以后这段代码就可以常用了。

原生HTML通过JS(ES6、JQuery)引入公共模块(header,footer,menu等)实现模块化以及组件化,实现父子组件传值以及数据监听(基于Object.defineProperty) 一些项目有时候,因为需求不同,比如需要SEO或者项目很小,亦或者只需要做一个简单好管理的官网或者网站等等,在这种情况下,我们再去使用类似于vue和react等等这类型框架,就有一点大材小用,也有点费时间。但是,vue这类框架的组件化开发在体验上对开发者非常友好,那么我们如果通过使用原生的前端技术去实现组件化开发? 阅读详情

相关推荐

slearn-jquery-plugs:深入探究jQuery插件开发与应用

本文还有配套的精品资源,点击获取 简介:在Web开发中,jQuery库以其简洁API和强大功能受到青睐,而jQuery插件进一步扩展了jQuery的功能。本文以"slearn-jquery-plugs"项目为例,详细探讨了jQuery插件的开发与应用。文章涵盖基础概念、结构分析、开发流程、以及实际应用和扩展。通过对该项目的分析,读者将能够理解如何创建和集成jQuery插件,...

weixin_35794316的博客 800

模块化开发

模块化开发模块化概述模块化规范的出现CommonJs规范AMDSea.js+CMD(淘宝推出的)模块化标准实现Es Modules三级目录 提高开发效率,降低维护成本,模块化本身只是一个思想,不包括具体的实现 模块化概述 模块化规范的出现 CommonJs规范 每个文件就是一个模块 每个模块都有一个单独的作用域 通过module.exports导出成员 通过require函数载入模块 同步的模式加载模块 node执行是在页面加载时加载模块 页面加载时导致大量的同步请求出现,导致效率低下 AMD 早期的浏览器

chenacxz的博客 375

用于前端模块化使用的jq

专用jq是经过打包的jq,可以用于前端模块化使用,根据实际使用引入,减少资源加载。

用jquery实现简单的模块开发

把以下代码进行封装,放入js文件中;命名Module.js (名字随意起) ;(function($,win){ var Load = function(){ if(this == window){ return new Load(); } return this; }; Load.prototype...

王威振的博客 910

sea.js与jquery.mobile-1.3.2,jquery结合实现模块化开发

NULL 博文链接:https://1204363612.iteye.com/blog/1990743

使用PLINK做GWAS(2)

利用PLINK对单基因控制的性状进行定位,之前一篇文章粗滤的记录了一下使用PLINK的命令,本次博客主要记录一下如何根据SNP芯片的数据制作PLINK的格式,以及分析的步骤,最后数据的可视化。 首先,有的公司给的新片的数据就是一个excel表格,列表示的是样品,行表示的是基因型,基因型用ATCG构成,当然有的基因型是用数字0或者1表示的。下面我拿到的一个数据是15个样品构成的基因型,有13个样品是突变体,2个样品是野生型。 格式如下: 第二步:将此基因型存成csv文件,使用R进行读取,在R中制作pl

samhuairen的专栏 2922

基于jQuery实现简单的js模块化

在多人合作完成网页,经常遇到大家的js代码相互影响的问题。现在有许多模块化的前端框架,应该是可以解决这个问题。但本人并非前端开发人员,那些框架都没用过,只对jQuery相对熟悉,就想用jQuery来解决这个问题。 首先相互影响主要有两个方面,一是js代码中定义的function名重复,导致覆盖问题;另一个是js操作页面元素时,大家使用的id、name、class等可能重复,导致操...

weixin_30332705的博客 268

CH340驱动安装全攻略:从Windows到MacOS的避坑指南(2025最新版)

本文提供2025年最新版CH340驱动安装全攻略,涵盖Windows、MacOS和Linux三大操作系统。详细解析了驱动安装的核心原理、标准流程,并针对Windows设备管理器报错、MacOS系统安全限制等常见“坑点”提供了深度排错与解决方案,旨在帮助开发者快速稳定地完成USB转串口通信配置。

earth的博客 428

jQuery组件化与模块化的联系

jQuery是一个JavaScript库,它提供了许多有用的功能来操作HTML文档。而组件化和模块化则是在编写JavaScript代码时的一种编程思想。 组件化是指将一个复杂的系统分解成一组相对独立的组件,每个组件都有自己的功能和职责。例如,在Web应用程序中,可能有一个导航栏组件、一个搜索栏组件、一个登录框组件等。这些组件可以在不同的页面或不同的地方重用。 而模块化则是将代码分成不同的模块,每个...

weixin_42581846的博客 319

手把手教你用YOLOv5和OpenCV实现DNF全自动刷图(含自动拾取与Boss战逻辑)

本文详细介绍了如何使用YOLOv5和OpenCV构建DNF全自动刷图系统,包括环境配置、游戏画面采集、目标检测、场景导航及操作控制等核心模块。通过实战案例,帮助开发者掌握游戏自动化技术,实现自动拾取与Boss战逻辑,提升游戏效率。

weixin_42628941的博客 451

用Python+NumPy手把手实现分数阶傅里叶变换(FRFT),搞定线性调频信号分析

本文详细介绍了如何使用Python和NumPy实现分数阶傅里叶变换(FRFT),特别针对线性调频信号(Chirp信号)分析。通过从零开始的代码实现和可视化案例,展示了FRFT在时变信号处理中的强大能力,帮助工程师和研究人员高效分析频率随时间变化的信号。

weixin_29062823的博客 218

写jQuery插件该注意的

写好jQuery插件,有一些注意的地方(持续添加)。 支持UMD 现在前端开发讲究模块化,所以jQuery插件也最好能够兼顾模块化。 模块化模式大概有几种:AMD、CommonJs、UMD。 AMD...

qq_36320160的博客 181

STM32实战:5分钟搞定CanFestival协议栈下的CANopen心跳报文配置(附避坑指南)

本文详细介绍了如何在STM32平台上使用CanFestival协议栈快速配置CANopen心跳报文,包括硬件准备、协议栈移植、心跳报文配置及常见问题解决方案。通过实战步骤和避坑指南,帮助开发者高效实现节点状态监控,提升工业控制系统的可靠性。

win55的博客 747

如果你只会JQuery的插件式开发, 那么你可以进来看看?

对于JQuery的学习,已经有3年多的时间了,直到去年与我的组长一起做项目,看到他写的JS,确实特别漂亮,有时甚至还看不太懂, 我才发现其实我不太会JQuery。所以我有时间就会去看看他写的JS代码,直到今天我都会很怀恋那段在清大的日子,是我人生思想道路上的一次艳遇。 我到现在都一直喜欢去看一些牛人的js文章,譬如像 (叶小钗,司徒正美,tom大叔)等人的文章都是很不错的。 上面的话说多了,...

weixin_34234721的博客 203

K8S搭建(centos)四、安装K8S

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 2653

AI原生应用API编排:如何实现高效的权限管理?

随着GPT-4、Claude 3等大模型的普及,AI原生应用(从设计之初就以AI为核心的应用)正从“概念”走向“落地”。依赖大量外部API的协同工作(如用户身份API→大模型生成API→支付API→存储API)。但随之而来的挑战是:如何在复杂的API调用链中,确保每个环节的权限合规?本文将聚焦这一问题,覆盖API编排的基础逻辑、权限管理的核心机制(如RBAC/ABAC)、实战工具链(如OPA策略引擎),以及常见场景的解决方案。本文将按照“场景引入→核心概念→原理拆解→实战演练→趋势展望”的逻辑展开。

大数据洞察的博客 452

jQuery-Resizable 项目推荐

jQuery-Resizable 项目推荐 1. 项目基础介绍和主要编程语言 jQuery-Resizable 是一个轻量级的 jQuery 插件,旨在使 HTML DOM 元素可调整大小。该项目的主要编程语言是 JavaScript,并且依赖于 jQuery 库。通过使用这个插件,开发者可以轻松地为网页中的各种元素(如对话框、分割面板等)添加调整大小的功能,从而提升用户体验。 2. 项目核心功能...

gitblog_00663的博客 841

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

前端表单验证进阶:如何使用 jQuery.validator.addMethod() 编写自定义验证器(全是干货,建议收藏)

本文介绍如何使用 jQuery.validator.addMethod() 创建自定义表单验证方法。通过一个“禁止时间为 00:00”的案例,详细讲解验证函数的编写、错误信息处理、封装技巧及最佳实践。适用于需要扩展 jQuery Validation 插件的场景,帮助开发者实现更灵活的表单验证逻辑,提升前端开发效率与代码复用性。

m0_56259289的博客 642

toolbar插件 学习记录

toolbar插件是按照学习慕课网的学习记录 课程名:侧栏工具条开发 讲师:Alex Wang 链接地址:https://www.imooc.com/video/8235 技术点: 使用sass编写css,koala编译(工具貌似不能识别中文路径的项目)。 requirejs来使js代码模块化。 字体图标的引用 使用伪类来简化html结构(before,after) jquery插件的...

大象的博客 2084

Javascript中的自执行匿名函数

格式: (function(){ //代码 })(); 解释:这是相当优雅的代码(如果你首次看见可能会一头雾水:)),包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。 来个带参数的例子:(function(arg){ alert(arg+100); })(20);// 这个例子返回120。回来看看jquery的

黄沙百战穿金甲,不破楼兰终不还。 617

编写自定义的JQuery插件的几个注意点

前言 在巨人的肩膀上做事,不出意外的外,你会站的高看得远!插件是对功能的封装,自定义的插件来扩展jQuery,不仅可以促进代码的特定风格,而且可以利用jQuery的提供的丰富API,何乐而不为! 一,扩展jQuery的形式 在$(jQuery)的别名上直接定义的实用工具函数; 对jQuery包装集进行操作的方法。 二,扩展jQuery的准则 文件名以jquery为前缀; 前缀后接插...

追寻上飞的博客 464
上一篇: sequelize解决模型不是sequelize创建的实例
下一篇: 解决nodejs不支持async和await关键字的问题
遛狗的代码
博客等级 码龄11年 10粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值