diff --git a/build/constant.ts b/build/constant.ts index b988eac..20da888 100644 --- a/build/constant.ts +++ b/build/constant.ts @@ -7,4 +7,12 @@ export const GLOB_CONFIG_FILE_NAME = '_app.config.js'; -export const OUTPUT_DIR = 'docker/dist'; +export const OUTPUT_DIR = (mode?: string) => { + if (!mode) { + // 默认获取vite build --mode xxx + const reg = new RegExp('--mode ([a-z]+)'); + const result = reg.exec(process.env.npm_lifecycle_script as string) as any; + mode = result?.[1] || 'prod' as string; + } + return `docker/${mode}/dist`; +} diff --git a/build/script/buildConf.ts b/build/script/buildConf.ts index 5c844f1..bfb3977 100644 --- a/build/script/buildConf.ts +++ b/build/script/buildConf.ts @@ -28,12 +28,12 @@ function createConfig({ writable: false, }); `.replace(/\s/g, ''); - fs.mkdirp(getRootPath(OUTPUT_DIR)); + fs.mkdirp(getRootPath(OUTPUT_DIR())); // 将配置信息追加到_app.config.js文件中 - writeFileSync(getRootPath(`${OUTPUT_DIR}/${configFileName}`), configStr); + writeFileSync(getRootPath(`${OUTPUT_DIR()}/${configFileName}`), configStr); console.log(colors.cyan(`✨ [${pkg.name}]`) + ' - configuration file is build successfully:'); - console.log(colors.gray(OUTPUT_DIR + '/' + colors.green(configFileName)) + '\n'); + console.log(colors.gray(OUTPUT_DIR() + '/' + colors.green(configFileName)) + '\n'); } catch (error) { console.log(colors.red('configuration file configuration file failed to package:\n' + error)); } diff --git a/vite.config.ts b/vite.config.ts index 1759590..5fcbcf1 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -79,7 +79,7 @@ export default ({ command, mode }: ConfigEnv): UserConfig => { target: 'es2015', cssTarget: 'chrome80', // 指定输出路径 - outDir: OUTPUT_DIR, + outDir: OUTPUT_DIR(), // 设置代码简洁压缩选项 // minify: 'terser', /*terserOptions: {