vite build1
This commit is contained in:
+42
-20
@@ -1,40 +1,62 @@
|
|||||||
import { defineConfig, UserConfigExport } from 'vite'
|
import { defineConfig, UserConfigExport } from "vite";
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from "@vitejs/plugin-vue";
|
||||||
import { resolve } from 'node:path';
|
import { resolve } from "node:path";
|
||||||
import { map } from 'lodash';
|
import { map } from "lodash";
|
||||||
|
import { existsSync, readFileSync } from "node:fs";
|
||||||
|
|
||||||
type ExportKey = 'ingame'|'ingame_vue';
|
type ExportKey = "ingame" | "ingame_vue";
|
||||||
type BuildExports = Record<ExportKey, Record<string,string>>;
|
type BuildExports = Record<ExportKey, Record<string, string>>;
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig(({ command, mode }) => {
|
export default defineConfig(({ command, mode }) => {
|
||||||
|
const target = "hwe"; //방법이 있나?
|
||||||
const target = 'hwe'; //방법이 있나?
|
|
||||||
const tsDir = resolve(__dirname, `${target}/ts/`);
|
const tsDir = resolve(__dirname, `${target}/ts/`);
|
||||||
|
|
||||||
const build_exports: BuildExports = require(`${tsDir}/build_exports.json`);
|
const build_exports: BuildExports = require(`${tsDir}/build_exports.json`);
|
||||||
|
|
||||||
const ingame_vue_ts: Record<string, string> = {};
|
const asset_map: Record<string, string> = {};
|
||||||
for(const [key, value] of Object.entries(build_exports.ingame_vue)){
|
for (const [key, value] of Object.entries(build_exports.ingame_vue)) {
|
||||||
ingame_vue_ts[key] = `${tsDir}/${value}`;
|
asset_map[key] = `${tsDir}/${value}`;
|
||||||
}
|
}
|
||||||
|
for (const [key, value] of Object.entries(build_exports.ingame)) {
|
||||||
|
asset_map[key] = `${tsDir}/${value}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
const versionGitPath = resolve(
|
||||||
|
__dirname,
|
||||||
|
target,
|
||||||
|
"d_setting",
|
||||||
|
"VersionGit.json"
|
||||||
|
);
|
||||||
|
const versionValue = (() => {
|
||||||
|
if (!existsSync(versionGitPath)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
const versionInfo = JSON.parse(readFileSync(versionGitPath, "utf-8"));
|
||||||
|
return versionInfo.versionGit;
|
||||||
|
})();
|
||||||
|
|
||||||
|
const versionTarget = versionValue ?? `${target}_dynamic`;
|
||||||
|
const outputPath = resolve(__dirname, 'dist_js', versionTarget);
|
||||||
|
|
||||||
const config: UserConfigExport = {
|
const config: UserConfigExport = {
|
||||||
build: {
|
build: {
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
input: ingame_vue_ts,
|
input: asset_map,
|
||||||
},
|
},
|
||||||
outDir: resolve(__dirname, `dist_js/version/ingame_vue`),
|
outDir: outputPath,
|
||||||
|
assetsDir: 'assets',
|
||||||
|
manifest: true,
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': tsDir,
|
"@": tsDir,
|
||||||
'@scss': resolve(__dirname, `${target}/scss/`),
|
"@scss": resolve(__dirname, `${target}/scss/`),
|
||||||
'@util': resolve(tsDir, `util`),
|
"@util": resolve(tsDir, `util`),
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
plugins: [vue()]
|
plugins: [vue()],
|
||||||
}
|
};
|
||||||
|
|
||||||
return config;
|
return config;
|
||||||
})
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user