useENV
提供一些环境变量,用于判断当前访问的所属环境。
TIP
本方法导出的所有变量均为普通变量,不具备响应性。
runtimeEnv
当前项目所处的运行时环境。
TIP
判断运行时环境,非部署环境,常用于服务端代码区分运行时,详见 区分运行时环境 。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
/**
* 运行时环境类型
*/
export type RuntimeEnv =
// 开发环境
| 'development'
// 生产环境
| 'production'
- Example:
import { useENV } from '@lunarxyz/core'
const { runtimeEnv } = useENV()
console.log(runtimeEnv) // development
isDevRuntime
用于判断当前项目是否运行在开发环境。
TIP
判断运行时环境,非部署环境,常用于服务端代码区分运行时,详见 区分运行时环境 。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isDevRuntime } = useENV()
if (isDevRuntime) {
console.log('当前是开发环境运行时')
}
isProdRuntime
用于判断当前项目是否运行在生产环境。
TIP
判断运行时环境,非部署环境,常用于服务端代码区分运行时,详见 区分运行时环境 。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isProdRuntime } = useENV()
if (isProdRuntime) {
console.log('当前是生产环境运行时')
}
env
当前项目所部署的环境。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
/**
* 部署环境类型
*/
export type Env =
// 测试环境
| 'dev'
// 预发环境
| 'uat'
// 生产环境
| 'prod'
- Example:
import { useENV } from '@lunarxyz/core'
const { env } = useENV()
console.log(env) // dev
isDev
用于判断当前项目是否部署在测试环境。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isDev } = useENV()
if (isDev) {
console.log('当前是测试环境')
}
isUat
用于判断当前项目是否部署在预发环境。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isUat } = useENV()
if (isUat) {
console.log('当前是预发环境')
}
isProd
用于判断当前项目是否部署在生产环境。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isProd } = useENV()
if (isProd) {
console.log('当前是生产环境')
}
ua
用户代理信息( navigator.userAgent
),会转为全小写。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
string
- Returns:
navigator.userAgent.toLowerCase()
|''
- Example:
import { useENV } from '@lunarxyz/core'
const { ua } = useENV()
if (ua) {
console.log('本次访问来自浏览器')
}
isMobile
用于判断当前设备是否为手机。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isMobile } = useENV()
if (isMobile) {
console.log('当前是手机访问')
}
isDesktop
用于判断当前设备是否为桌面(俗称 PC )。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isDesktop } = useENV()
if (isDesktop) {
console.log('当前是 PC 访问')
}
isAndroid
用于判断当前平台是否为安卓系统。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isAndroid } = useENV()
if (isAndroid) {
console.log('当前是安卓用户')
}
isIOS
用于判断当前平台是否为 iOS 系统。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isIOS } = useENV()
if (isIOS) {
console.log('当前是 iOS 用户')
}
isApp
用于判断当前浏览器是否为 App 内置 Webview 。
TIP
该变量是用于识别是否处于 App 内置的 Webview ,如果需要区分是否处于 Hybrid App 本身的环境,请使用 isHybrid 。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isApp } = useENV()
if (isApp) {
console.log('当前在 App 里访问')
}
isWeixin
用于判断当前浏览器是否为微信内置浏览器。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isWeixin } = useENV()
if (isWeixin) {
console.log('当前在微信里访问')
}
isQQ
用于判断当前浏览器是否为 QQ 浏览器(包括手机 QQ 内置浏览器)。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isQQ } = useENV()
if (isQQ) {
console.log('当前在 QQ 里访问')
}
isQQBrowser
用于判断当前浏览器是否为 QQ 浏览器(非手机 QQ )。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isQQBrowser } = useENV()
if (isQQBrowser) {
console.log('当前在独立安装的 QQ 浏览器里访问')
}
isQzone
用于判断当前浏览器是否为 QQ 空间内置浏览器。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isQzone } = useENV()
if (isQzone) {
console.log('当前在独立安装的 QQ 空间内置浏览器里访问')
}
isWeibo
用于判断当前浏览器是否为微博内置浏览器。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isWeibo } = useENV()
if (isWeibo) {
console.log('当前在微博里访问')
}
isBaidu
用于判断当前浏览器是否为百度 App 内置浏览器。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isBaidu } = useENV()
if (isBaidu) {
console.log('当前在百度 App 里访问')
}
isClient
用于 SSR / SSG / Pre-Rendering 项目区分客户端环境(浏览器)。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isClient } = useENV()
if (isClient) {
console.log('当前是客户端')
}
isServer
用于 SSR / SSG / Pre-Rendering 项目区分服务端环境。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isServer } = useENV()
if (isServer) {
console.log('当前是服务端')
}
isHybrid
用于 NoWindow 项目区分 Node.js Server 服务端和 Hybrid App 环境。
- Supported Platforms:
Browser | Electron | App | Server | Scriptlet |
- Type Declarations:
boolean
- Example:
import { useENV } from '@lunarxyz/core'
const { isHybrid } = useENV()
if (isHybrid) {
console.log('当前是 Hybrid App')
}