UNPKG

@aniyajs/rotor

Version:

基于webpack5开发的一款专注于打包、运行的工具

71 lines (61 loc) 1.75 kB
const path = require("path"); const paths = require("../utils/paths"); const webpackConfig = require("./webpack.config"); const fs = require("fs-extra"); const { reviveFunctions } = require("../utils/common"); delete require.cache[require.resolve(paths.appTempMetaJs)]; const defaultConfig = reviveFunctions( require(paths.appTempMetaJs).lastConfig, ); // webpack最新配置 // config最新配置 function getClientEnvironment() { let stringified = {}; let oldDefine = {} Object.assign(stringified, { ...Object.keys(defaultConfig?.define ?? {}).reduce((env, key) => { env[key] = typeof defaultConfig?.define[key] === "string" ? JSON.stringify(defaultConfig?.define[key]) : defaultConfig?.define[key]; return env; }, {}), }); if ( paths.appEnvConfigTemp && fs.existsSync( path.join( paths.appEnvConfigTemp, `config.${process.env.ANIYAJS_ENV}.js`, ), ) ) { oldDefine = require( path.resolve( paths.appEnvConfigTemp, `config.${process.env.ANIYAJS_ENV}.js`, ), ).default?.define; Object.assign(stringified, { ...Object.keys(oldDefine).reduce((env, key) => { env[key] = typeof oldDefine[key] === "string" ? JSON.stringify(oldDefine[key]) : oldDefine[key]; return env; }, {}), }); } const configFactory = webpackConfig(defaultConfig, stringified); return { raw: { ...defaultConfig, define: { ...defaultConfig?.define, ...oldDefine } }, latestConfig: configFactory, }; } module.exports = getClientEnvironment;