@4c/env 中文文档教程
@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'));