webpack-builder-react-xd
Version:
小盾安全前端团队构建器
45 lines (37 loc) • 1.15 kB
JavaScript
const path = require('path');
const { appDirectory } = require('./paths');
const NODE_ENV = process.env.NODE_ENV;
if (!NODE_ENV) {
throw new Error(
'The NODE_ENV environment variable is required but was not specified.'
);
}
process.env.NODE_PATH = (process.env.NODE_PATH || '')
.split(path.delimiter)
.filter(folder => folder && !path.isAbsolute(folder))
.map(folder => path.resolve(appDirectory, folder))
.join(path.delimiter);
// 获取 NODE_ENV 和 REACT_APP_* 等环境变量,用于通过DefinePlugin 注入应用中
const REACT_APP = /^REACT_APP_/i;
function getClientEnvironment() {
const raw = Object.keys(process.env)
.filter(key => REACT_APP.test(key))
.reduce(
(env, key) => {
env[key] = process.env[key];
return env;
},
{
NODE_ENV: process.env.NODE_ENV || 'development',
MICRO: process.env.MICRO || false,
}
);
const stringified = {
'process.env': Object.keys(raw).reduce((env, key) => {
env[key] = JSON.stringify(raw[key]);
return env;
}, {}),
};
return { raw, stringified };
}
module.exports = getClientEnvironment;