【发布时间】:2017-03-02 03:24:38
【问题描述】:
我正在尝试构建一个“简单”的 jQuery 插件,它依赖于其他 jQuery 插件(当然还有 jQuery 它自己)。
经过一些阅读和研究,我认为require.js 可以完成这项工作,但我无法弄清楚两个主要问题。
假设myPlugin.js 依赖于其他 2 个 jQuery 插件:
bootstrap-datetimepicker.js 和 select2.js。
虽然bootstrap-datetimepicker.js 依赖于moment.js 和bootstrap.js
并且两个插件以及myPlugin.js 都依赖于jQuery.js
第一期:
我想为使用myPlugin.js 的人简化事情。
我只想为他们提供一个库并要求他们在 HTML 页面上包含 myPlugin.js。
然后,通过使用类似以下内容的方式调用插件:$('#target').myPlugin();,myPlugin.js 将完成注入依赖项的所有必要工作以及该插件的实际工作。我无法理解的是层次结构应该如何。
我的意思是如果我要使用require.js,我需要在myPlugin.js之前将它包含在html页面中,
我还需要管理依赖项加载的顺序。
例如,对于bootstrap-datetimepicker.js,我需要先加载moment.js、jquery.js 和bootstrap.js。
所以层次结构和时间是我在这里的第一期的主要挑战。
第二期:
重复和冲突怎么办?
也许想要使用myPlugin.js的人已经加载了jQuery.js和bootstrap.js。
我不想再次加载它并在他/她的页面上创建重复和冲突。
【问题讨论】:
标签: javascript jquery jquery-plugins requirejs dependencies