webpack插件 Webpack学习系列 | Webpack 5 集成 HTML 插件高效解决文件路径问题
主要通过实操讲解运用Webpack 5 如何集成 HTML 插件从而高效解决文件路径问题程序员优雅哥简介:十年程序员,呆过央企外企私企,做过前端后端架构。分享vue、Java等前后端技术和架构。 本文
顺晟科技
2021-06-16 10:57:00
345
我写过关于javascript设计模式的文章,它们为javascript开发中的一些常见问题提供了很好的解决方案。使用这些设计模式将对您的开发大有裨益。众所周知,javascript设计模式非常有用。另一方面,它受益于自己的设计模式:jquery插件。官方的jQuery插件开发指南可以作为学习编写插件的良好起点。在本文中,我们将学习更多关于jquery插件开发技巧的知识。
随着近几年jquery插件开发的不断发展,我们很少只用一种方式编写插件。事实上,在解决某些问题或场景时,使用特定的设计模式比其他模式更有效。
有些开发人员可能希望使用jQuery UI小部件工厂,它适用于复杂而灵活的UI组件。其他开发人员可能喜欢像模块一样组织他们的代码(类似于模块模式),或者使用更正式的模块模式,如AMD(异步模块定义)。其他开发人员希望他们的插件使用javascript强大的原型继承。还有其他开发人员可能希望使用自定义事件或发布/订阅(pub/sub)来在插件和应用程序之间进行通信。等待.
我注意到一些开发人员试图创建一个一刀切的jquery插件模板,这让我想到。理论上,使用统一的样板文件是一个好主意。然而,在实际开发中,我们很少只使用一种模式来开发插件。
如果你自己写过一些jquery插件,效果不错,但是你可能认为它可以有更好的代码组织结构,可以更灵活,解决更多的问题。这听起来很熟悉。如果您不确定不同jquery插件模式之间的差异,您会发现我后面要讲的内容非常有用。
本文不会为您提供所有问题的解决方案,但它涵盖了开发人员使用的所有流行设计模式。
注意:本文主要针对中开发人员。如果你觉得自己还没准备好,建议你先看看官方的jQuery插件开发指南,本阿尔曼的插件风格指南,雷米夏普的《一个写得很差的jQuery插件的标志》。
JQuery插件定义的规则很少,这也是这些插件方法多样的原因之一。在最简单的情况下,您可以向$添加一个方法。jquery的fn对象,例如:
$ . fn . mypluginname=function(){//your plugin logic };
前面的方法很简单,下面的方法会更好:
(function($){ $ . fn . mypluginname=function(){//your plugin logic };})(jQuery);
这里,我们在插件代码中嵌入一个匿名函数,使用匿名函数创建闭包,将jQuery作为全局变量传递给匿名函数,执行匿名函数。这样可以保证$不会与其他javascript库发生冲突,避免$变量与页面中的全局变量发生冲突。
另一种写法是用$。extend,它可以一次定义多个方法,这在某些情况下非常有用:
(函数($ ){ $。extend($。fn,{ myplugin : function(){//your plugin logic } });})(jQuery);
对此,我们可以做一些改进。首先,让我们看看个完整的模式——轻量级模式,它涵盖了我们日常插件开发中的一些更佳实践和常见问题。
注意:
您可以在jquery-plugin-patterns中找到本文中提到的设计模式(翻译本文时,项目已经迁移到jquery-样板/模式)。
虽然本文将对每种模式进行解释,但建议阅读代码中的注释,这可以让您更深入地理解为什么更好使用这种方法。
另外,如果有兴趣的话,也可以看看每个模式背后的扩展。
首先,让我们看看一些遵循更佳实践的基本设计模式(包括jQuery插件编写指南)。当开发一个新的插件或实现一些简单的插件时,这种模式是理想的。轻量级插件模式遵循以下一些原则:
常见的更佳实践,例如在调用函数之前使用分号;窗口、文档、未定义作为参数传递。遵循jQuery风格规范。
插件默认配置。
用于逻辑相关初始化和委托元素处理的简单插件构造函数。
制造
19
2022-10
25
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09