跨端環境判斷
因爲項目可能不止是小程序使用,也可能打包成 h5,所以這裏我們還需要做環境判斷,畢竟在 h5 環境下,有的東西是不兼容的,比如Taro.login
和Taro.getSetting()
都是調用不了的。所以這裏就有:
// 判斷是否是小程序
if (process.env.TARO_ENV === 'weapp') {}
那麼Taro
在編譯時提供了一些內置的環境變量來幫助用戶做一些特殊處理。
process.env.TATO_ENV
用於判斷當前編譯類型,目前有weapp
/ swan
/ alipay
/ h5
/ rn
/ tt
/ qq
/ quickapp
八個取值,可以通過這個變量來書寫對應一些不同環境下的代碼,在編譯時會將不屬於當前編譯類型的代碼去掉,只保留當前編譯類型下的代碼。例如小程序和h5:
if (process.env.TARO_ENV === 'weapp') {
require('path/to/weapp/name')
} else if (process.env.TARO_ENV === 'h5') {
require('path/to/h5/name')
}