4.0.1 • Published 3 years ago

@4a/env v4.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Env

环境变量管理

Install

npm i @4a/env
yarn add @4a/env

Usage in Nodejs

const { Env } = require('@4a/env')
module.exports = new Env(process.env.NODE_ENV)

Usage in FE

// hostname = 'preview.com'

import Env from '@4a/env'
import fe from '@4a/env/dist/fe'

// 根据hostname发现env
fe.setHostname ({
    dev: 'dev.com',
    test: 'test.com',
    testing: 'test.com',
    preview: 'preview.com',
    // 支持配置多个域名
    production: ['production1.com', 'production2.com'],
})

export default new AppEnv(fe.env)

Example

console.log('app start on', appEnv.env)

appEnv.env          // === 'preview'
appEnv.isDev        // === false
appEnv.isTest       // === false
appEnv.isTesting    // === false
appEnv.isPreview    // === true
appEnv.isProduction // === false
appEnv.isOnline     // === true


appEnv.dev(() => {
    console.log('dev message')
})

appEnv.test(() => {
    console.log('test message')
})

appEnv.testing(() => {
    console.log('testing message')
})

appEnv.preview(() => {
    console.log('preview message')
})

appEnv.production(() => {
    console.log('production message')
})

appEnv.online(() => {
    console.log('online message')
})

appEnv.get({
    dev: 'http://dev.com',
    test: 'http://test.com',
    testing: 'http://test.com',
    preview: 'http://preview.com',
    production: 'http://production.com',
})  // => 'http://preview.com'

ENV Support

无环境变量访问时,默认环境变量为production

# 
# test和testing推荐只存在一个
# 由于npm test命令被单元测试占用,测试环境比较难达到命名统一
# 为了方便命名统一,推荐使用testing来命名测试环境
# 环境启动命令就可以使用: npm run testing
# 同时也兼容支持test作为环境命名,但不推荐两者同时存在
# 

DEV: dev
DEVELOPMENT: development
TEST: test
TESTING: testing
PREVIEW: preview
PRODUCTION: production
4.0.1

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

4.0.0

3 years ago

3.0.0

3 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.0.0

4 years ago