什麼是「權威」方式來檢測_
變量是否裝有lodash或下劃線?檢測_是否爲下劃線或下劃線
我正在使用lodash在一個環境中的項目,其中underscore有時可能還會加載。
目前,我已經想出了這一點:
/**
* lodash defines a variable PLACEHOLDER = '__lodash_placeholder__'
* so check if that is defined/contains the string "lodash"
*/
if (typeof(_.PLACEHOLDER) == 'undefined' || _.PLACEHOLDER.indexOf('lodash') < 0) {
// _ is underscore, do what I need to access lodash
}
重要更新:上面的代碼不工作!
是否有一個「權威」的方式來檢測,如果_
是lodash或下劃線?
注:
這是找到一種方法來確定是否lodash或下劃線裝入_
可變提出具體要求:
1.這是我無法控制的下劃線是否加載與否。 (lodash 是在我的控制範圍內,並且會一直加載)。
2.不能依賴lodash /下劃線的加載順序。
3.加載的下劃線的版本可能會發生變化(它是可以更新的CMS框架的一部分)。
4. Lodash 4.17.x有300多個功能。我的代碼利用lodash中的函數很多。
5. Lodash包含許多功能,下劃線不提供提供。
6.兩個庫中存在的一些函數具有不同的實現。
我能想到的唯一的事情就是'_ .VERSION'出現在'lodash'中,但不出現在'underscore' – bhantol
@bhantol:下劃線也有'VERSION'(至少在其網站上的版本)。 –
'isLodash = _.toString()。indexOf('lodash')> = 0' – bhantol