@4c/env 中文文档教程

发布于 4年前 浏览 31 更新于 3年前

@4c/env

用于在节点和 webpack 项目中处理环境变量的一小组实用程序。 包装优秀的 getEnv 以及

Usage

import * as Env from '@4c/env';

Getting and parsing variables

env< /code> 包装并重新导出 getEnv得到()。

Env.get('NODE_ENV'); // 'production'

// Fails hard on missing variables
Env.get('NOT_SET_VAR'); // Error

// Fall back to a default if needed
Env.get('NOT_SET_VAR', 'default_value'); // 'default_value'

// Parsing
Env.get.int('MAX_SUBSCRIPTIONS', 4);

process.env.BOOLISH = 1;
Env.get.boolish('BOOLISH'); // true

Loading .env files

env 将按环境加载和解析 .env 文件。 我们使用命名约定 variables-{ENV}.env 来根据不同的环境拆分变量。 默认为 dev

Env.load(); // adds variables-dev.env to process.env
Env.load('test'); // adds variables-test.env to process.env

还有一个用于将环境变量传递给 webpack 的 DefinePlugin 的实用程序,允许将前端代码中的 process.env.FOO 实例替换为特定的编译时值。

// returns variables-test.env mapped to an object keyed by process.env.[foo] for use in webpack
new webpack.DefinePlugin(Env.define('test'));

@4c/env

A small set of utils for working with environment variables in node and webpack projects. Wraps the excellent getEnv as well

Usage

import * as Env from '@4c/env';

Getting and parsing variables

env wraps and reexports getEnv as get().

Env.get('NODE_ENV'); // 'production'

// Fails hard on missing variables
Env.get('NOT_SET_VAR'); // Error

// Fall back to a default if needed
Env.get('NOT_SET_VAR', 'default_value'); // 'default_value'

// Parsing
Env.get.int('MAX_SUBSCRIPTIONS', 4);

process.env.BOOLISH = 1;
Env.get.boolish('BOOLISH'); // true

Loading .env files

env will load and parse .env files, by environment. We use the naming convention variables-{ENV}.env to split out variables by different environment. The default is dev.

Env.load(); // adds variables-dev.env to process.env
Env.load('test'); // adds variables-test.env to process.env

There is also a utility for passing enviroment variables to webpack's DefinePlugin allowing instances of process.env.FOO in front-end code to be replaced with a specific compile-time value.

// returns variables-test.env mapped to an object keyed by process.env.[foo] for use in webpack
new webpack.DefinePlugin(Env.define('test'));
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文