簡體   English   中英

是否可以檢測腳本是否作為RequireJS模塊加載?

[英]Is it possible to detect if a script is being loaded as a RequireJS module?

我研究是否有檢測, 可以肯定 ,無論是給定的腳本目前正由RequireJS加載的方式。 一般來說AMD模塊的答案會更好,但我的用例只是RequireJS。

jQuery和其他庫“檢測”它是這樣的:

if ( typeof define === "function" && define.amd ) {
    define( "jquery", [], function() {
        return jQuery;
    });
}

這在大多數情況下都足夠了,但問題是它沒有檢測腳本是否作為AMD模塊加載,它只檢測define是否存在並支持AMD規范。

是否有一種方法,無論是使用RequireJS還是通常使用AMD模塊,腳本都可以確定(實際上)它是否作為模塊加載?

看一下指定的()

parentRequire.specified(moduleName):如果模塊已被請求或正在加載並且應該在某個時刻可用,則返回true。

if (typeof require === "function" && typeof require.specified === "function" && require.specified("jquery")) {
    define("jquery", [], function () {
        return jQuery;
    });
}

現在問題在於如何獲取模塊名稱,因為它可能因用戶設置而異。 有一個特殊的模塊 ,但只有當你已經在一個定義調用時才有效。 我建議你聯系jrburke誰是Requirejs開發人員。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM