vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
31 lines (29 loc) • 1.09 kB
JavaScript
function makeDevOrProd(getNodeEnv) {
/**
* 开发环境和生产环境返回不同的值或调用不同的函数。
*
* @param devValue 开发环境返回的值或调用的函数
* @param prodValue 生产环境返回的值或调用的函数
*/
function devOrProd(devValue, prodValue) {
var nodeEnv = getNodeEnv();
return nodeEnv === 'prod' ? typeof prodValue === 'function' ? prodValue() : prodValue : typeof devValue === 'function' ? devValue() : devValue;
}
/**
* 构造 devOrProd。
*/
devOrProd.make = makeDevOrProd;
return devOrProd;
}
/**
* 开发环境和生产环境返回不同的值或调用不同的函数。
*
* `process.env.NODE_ENV` 为空值、`production`、`prod` 时被认为是生产环境,否则是开发环境。
*
* @param devValue 开发环境返回的值或调用的函数
* @param prodValue 生产环境返回的值或调用的函数
*/
export var devOrProd = makeDevOrProd(function () {
var nodeEnv = process.env.NODE_ENV;
return !nodeEnv || nodeEnv === 'production' || nodeEnv === 'prod' ? 'prod' : 'dev';
});