【发布时间】:2013-10-10 05:16:02
【问题描述】:
我正在为我设置一种方法来保持我喜欢的 requireJS 工作方式并将其与 Wordpress 集成。
最大的问题是如何加载 jquery。 Wordpress 通过 wp_enqueue_script 加载 jQuery,这需要保持这种方式,因为我经常使用的一些 Wordpress 插件需要以这种方式添加 jquery。然后我不想在我的 requireJS 设置中加载第二个版本的 jQuery。所以,经过一番环顾,这就是我想出的:
模板/footer.php
<script>
if (typeof jQuery === 'function') {
define( 'jquery', function () { return jQuery; } );
}
require(['/assets/js/sample-common.js'], function (common) {
require(['sample-bootstrapper']);
});
</script>
查看是否已将 jQuery 添加到页面中,如果已添加,则将其设置为模块值。
我的问题是我应该将 jquery 留在全局命名空间中,还是按照以下说明进行操作:
http://requirejs.org/docs/jquery.html#noconflictmap
上面的问题是我可能需要包含与 AMD 不兼容的 jquery 插件,是否值得努力使它们与 AMD 兼容,或者我想到的另一个解决方案是从 noConflict 声明中删除 true全局命名空间中的“jQuery”允许插件运行。
这与其说是一个问题,不如说是在寻求最佳实践建议。任何将不胜感激!
谢谢!
【问题讨论】:
-
我认为除了不定义它之外,您还需要将“jquery”放入您的需求中?
标签: javascript php jquery wordpress requirejs