taro ENV process.env



taro ENV & NODE_ENV & process.env

​https://github.com/NervJS/taro-ui/blob/dev/src/common/utils.ts#L205​

Taro.getEnv & Taro.ENV_TYPE


import Taro from '@tarojs/taro'
import { execObject, SelectorQuery } from '@tarojs/taro/types/index'

const ENV = Taro.getEnv()

function delay(delayTime = 500): Promise<null> {
return new Promise(resolve => {
if ([Taro.ENV_TYPE.WEB, Taro.ENV_TYPE.SWAN].includes(ENV)) {
setTimeout(() => {
resolve()
}, delayTime)
return
}
resolve()
})
}



process.env.TARO_ENV

​https://nervjs.github.io/taro/docs/envs.html#processenvtaro_env​

// 如想在微信小程序和 H5 端分别引用不同资源

if (process.env.TARO_ENV === 'weapp') {
require('path/to/weapp/name')
} else if (process.env.TARO_ENV === 'h5') {
require('path/to/h5/name')
}


// 同时也可以在 JSX 中使用,决定不同端要加载的组件

render () {
return (
<View>
{process.env.TARO_ENV === 'weapp' && <ScrollViewWeapp />}
{process.env.TARO_ENV === 'h5' && <ScrollViewH5 />}
</View>
)
}



node env

​https://nervjs.github.io/taro/docs/config-detail.html#env​

process.env.NODE_ENV



taro ENV & NODE_ENV & process.env_NODE_ENV



webpack mode

​https://webpack.js.org/configuration/mode/​

process.env.NODE_ENV

If not set, webpack sets ​​production​​ as the default value for mode.

# string = 'production': 'none' | 'development' | 'production'
$ webpack --mode=none
$ webpack --mode=development
$ webpack --mode=production


process.env.NODE_ENV

$ process.env.NODE_ENV=production && webpack
$ process.env.NODE_ENV=development && webpack


​https://github.com/xgqfrms-GitHub/Node-CLI-Tools/issues/13​

linux & mac

$ export NODE_ENV=production


windows

$ set NODE_ENV=production



©xgqfrms 2012-2020



xgqfrms