vite build1

This commit is contained in:
2022-07-09 19:48:50 +09:00
parent 98a1862ca2
commit 6db5476987
+42 -20
View File
@@ -1,40 +1,62 @@
import { defineConfig, UserConfigExport } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'node:path';
import { map } from 'lodash';
import { defineConfig, UserConfigExport } from "vite";
import vue from "@vitejs/plugin-vue";
import { resolve } from "node:path";
import { map } from "lodash";
import { existsSync, readFileSync } from "node:fs";
type ExportKey = 'ingame'|'ingame_vue';
type BuildExports = Record<ExportKey, Record<string,string>>;
type ExportKey = "ingame" | "ingame_vue";
type BuildExports = Record<ExportKey, Record<string, string>>;
// https://vitejs.dev/config/
export default defineConfig(({ command, mode }) => {
const target = 'hwe'; //방법이 있나?
const target = "hwe"; //방법이 있나?
const tsDir = resolve(__dirname, `${target}/ts/`);
const build_exports: BuildExports = require(`${tsDir}/build_exports.json`);
const ingame_vue_ts: Record<string, string> = {};
for(const [key, value] of Object.entries(build_exports.ingame_vue)){
ingame_vue_ts[key] = `${tsDir}/${value}`;
const asset_map: Record<string, string> = {};
for (const [key, value] of Object.entries(build_exports.ingame_vue)) {
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 = {
build: {
rollupOptions: {
input: ingame_vue_ts,
input: asset_map,
},
outDir: resolve(__dirname, `dist_js/version/ingame_vue`),
outDir: outputPath,
assetsDir: 'assets',
manifest: true,
},
resolve: {
alias: {
'@': tsDir,
'@scss': resolve(__dirname, `${target}/scss/`),
'@util': resolve(tsDir, `util`),
}
"@": tsDir,
"@scss": resolve(__dirname, `${target}/scss/`),
"@util": resolve(tsDir, `util`),
},
},
plugins: [vue()]
}
plugins: [vue()],
};
return config;
})
});