簡體   English   中英

vanilla JS:是否捆綁了模塊

[英]vanilla JS : module bundled or not

給定一組模塊模式的文件(一個主文件和多個子文件),

有沒有一種方法可以檢測模塊是否捆綁在一起成為一個文件? 在最后一種情況下,我將手動加載帶有通過JS添加的頭腳本src =“”標簽的模塊。

非捆綁文件用於開發,捆綁文件供生產使用。

編輯代碼是ES 5!

我不考慮使用Browserify,Require等。

我用(非常基本的)gulpfiles匯編代碼(使用concat,wrap)

有人有主意嗎?

假設捆綁文件的名稱中包含一些內容,以表明它是捆綁軟件,則您可以檢查加載了哪個腳本。 例如,如果您在開發模式下加載TopModule.js,在生產環境中加載TopLevel.min.js,則可以將此檢測結果放入TopLevel模塊中:

var isBundled = (function () {
    var src = '';

    if ('undefined' !== typeof (document.currentScript) && document.currentScript.src) {
        src = document.currentScript.src;
    }
    else {
        (function () {
            var allScriptElements = document.scripts || document.getElementsByTagName('script'),
                    i;

            for (i = 0; i < allScriptElements.length; ++i) {
                if (/(TopLevel(\.min)*)\.js/i.test(allScriptElements[i].src)) {
                    src = allScriptElements[i].src;

                    break;
                }
            }
        }());
    }

    return /\.min\.js/i.test(src);
}());

暫無
暫無

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

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