diff --git a/hwe/ts/PageCachedMap.vue b/hwe/ts/PageCachedMap.vue
new file mode 100644
index 00000000..065a5029
--- /dev/null
+++ b/hwe/ts/PageCachedMap.vue
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/hwe/ts/build_exports.json b/hwe/ts/build_exports.json
index 3a93000e..c56c0c6f 100644
--- a/hwe/ts/build_exports.json
+++ b/hwe/ts/build_exports.json
@@ -24,6 +24,7 @@
"ingame_vue": {
"v_inheritPoint": "v_inheritPoint.ts",
"v_board": "v_board.ts",
+ "v_cachedMap": "v_cachedMap",
"v_chiefCenter": "v_chiefCenter.ts",
"v_NPCControl": "v_NPCControl.ts",
"v_join": "v_join.ts",
diff --git a/hwe/ts/v_cachedMap.ts b/hwe/ts/v_cachedMap.ts
new file mode 100644
index 00000000..a13f583f
--- /dev/null
+++ b/hwe/ts/v_cachedMap.ts
@@ -0,0 +1,8 @@
+import { createApp } from 'vue'
+import PageCachedMap from '@/PageCachedMap.vue';
+import { BootstrapVue3, BToastPlugin } from 'bootstrap-vue-3'
+import { auto500px } from "./util/auto500px";
+
+auto500px();
+
+createApp(PageCachedMap).use(BootstrapVue3).use(BToastPlugin).mount('#app');
\ No newline at end of file
diff --git a/hwe/v_cachedMap.php b/hwe/v_cachedMap.php
new file mode 100644
index 00000000..b2c368e0
--- /dev/null
+++ b/hwe/v_cachedMap.php
@@ -0,0 +1,36 @@
+
+
+
+
+
+최근 지도
+
+
+
+ = WebUtil::printJS('../d_shared/common_path.js', true) ?>
+ = WebUtil::printJS("js/map/theme_{$mapName}.js") ?>
+
+ = WebUtil::printStaticValues([
+ 'staticValues' => [
+ 'serverName' => UniqueConst::$serverName,
+ 'serverNick' => DB::prefix(),
+ 'serverID' => UniqueConst::$serverID,
+ ],
+ ]) ?>
+ = WebUtil::printDist('vue', 'v_cachedMap', true) ?>
+
+
+
+
+
+
+
\ No newline at end of file