使 RequireJS 在其创建的脚本标记上放置类

Make RequireJS place class on script tags it creates?

本文关键字:脚本 RequireJS 创建      更新时间:2024-05-07

我注意到 RequireJS 在加载模块时会在标签中创建脚本标签。

无论如何,是否可以将 RequireJS 配置为"标记"那些带有类或某种属性的元素,我以后可以使用 jQuery 来定位这些元素?

例如:

var $requireJsScripts = $('script.require-script');

--更新--

还行。。我想我现在可以解决这个问题。 感谢这个答案对require.s.contexts._.defined面包屑. 我仍然想听听是否有人知道一种方法来配置 RequireJS 以执行类似于原始问题中列出的操作......

var loadedRjsModules = Object.keys(require.s.contexts._.defined);
var $scripts = $('script');
$scripts.each(function () {
    if ($(this).data('requiremodule') && $.inArray($(this).data('requiremodule'), loadedRjsModules)) {
        console.log(this);
    }
});

查看源代码,我不明白 RequireJS 如何允许在创建时向脚本节点添加任何自定义内容。创建它们的例程没有规定。在创建时充实它们的代码也不支持它。

有一个 onResourceLoad 钩子被认为是内部 API 的一部分。它可以与您放在问题中的代码一起使用,而不是依赖require.s.contexts._.defined,据我所知,这是完全私有的,如有更改,恕不另行通知。