給定一組模塊圖案化文件(主之一,和各種潛艇)的,香草JS:模塊捆綁或不
是有辦法來檢測,如果模塊被捆綁在一起成爲一個單一的文件或不?在最後一種情況下,我將通過JS手動加載帶有頭腳本src =「」標籤的模塊。
非捆綁文件用於開發,捆綁的文件用於生產用途。
編輯代碼是ES 5!
我不考慮使用Browserify,要求或等等...
我組裝我的代碼(很基本的)gulpfiles(使用CONCAT,包裝)
人有一個想法?
給定一組模塊圖案化文件(主之一,和各種潛艇)的,香草JS:模塊捆綁或不
是有辦法來檢測,如果模塊被捆綁在一起成爲一個單一的文件或不?在最後一種情況下,我將通過JS手動加載帶有頭腳本src =「」標籤的模塊。
非捆綁文件用於開發,捆綁的文件用於生產用途。
編輯代碼是ES 5!
我不考慮使用Browserify,要求或等等...
我組裝我的代碼(很基本的)gulpfiles(使用CONCAT,包裝)
人有一個想法?
假設您的捆綁文件在名稱中包含某些內容以表明它是捆綁包,您可以檢查哪個腳本已加載。例如,如果你在加載生產在開發模式TopModule.js和TopLevel.min.js就可以把該檢測頂層模塊中:
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);
}());
我hava終於決定使用@Corina提出的技術,這對我來說非常有用!感謝您的回覆! –
'ES 5/2015' ES6 = ES2015,從ES5不同。 +你的問題目前還不清楚 – nicovank
ES五,而不是六......「傳統」JS ......我想用Apache Cordova在舊移動WebView中渲染,其實...... –
爲什麼你需要知道文件是捆綁還是不捆綁?是否知道如何將它們包含在index.html中?如果是的話,你可以使用[gulp-useref](https://www.npmjs.com/package/gulp-useref)或[gulp-inject](https://www.npmjs.com/package/gulp) -inject),他們會爲你處理這個問題 – Corina