diff --git a/data-room-ui/.env.history b/data-room-ui/.env.history
index 688ef765..798f4cbd 100644
--- a/data-room-ui/.env.history
+++ b/data-room-ui/.env.history
@@ -5,7 +5,11 @@ ENV = 'history'
 
 # VUE_APP_BASE为项目访问路径的前缀
 VUE_APP_BASE = '/bigScreen'
+
 # VUE_APP_HISTORY为是否开启history模式
 VUE_APP_HISTORY = 'y'
 
+# 打包后的文件夹名称
+VUE_APP_OUTPUT_DIR = 'dataRoomUi'
+
 VUE_APP_BUILD_TYPE = 'example'
\ No newline at end of file
diff --git a/data-room-ui/.env.pro.history b/data-room-ui/.env.pro.history
new file mode 100644
index 00000000..7f61e07a
--- /dev/null
+++ b/data-room-ui/.env.pro.history
@@ -0,0 +1,14 @@
+NODE_ENV = production
+
+# just a flag
+ENV = 'history'
+
+# VUE_APP_BASE为项目访问路径的前缀
+VUE_APP_BASE = '/dataRoomPro'
+# VUE_APP_HISTORY为是否开启history模式
+VUE_APP_HISTORY = 'y'
+
+# 打包后的文件夹名称
+VUE_APP_OUTPUT_DIR = 'dataRoomPro'
+
+VUE_APP_BUILD_TYPE = 'example'
\ No newline at end of file
diff --git a/data-room-ui/.env.pro.production b/data-room-ui/.env.pro.production
new file mode 100644
index 00000000..f145bf3d
--- /dev/null
+++ b/data-room-ui/.env.pro.production
@@ -0,0 +1,10 @@
+# just a flag
+ENV = 'production'
+
+# base api
+VUE_APP_BASE_API = '/dataRoomPro'
+
+# 打包后的文件夹名称
+VUE_APP_OUTPUT_DIR = 'dataRoomPro'
+
+VUE_APP_BUILD_TYPE = 'example'
\ No newline at end of file
diff --git a/data-room-ui/.env.production b/data-room-ui/.env.production
index 496a9b34..ed010031 100644
--- a/data-room-ui/.env.production
+++ b/data-room-ui/.env.production
@@ -4,4 +4,7 @@ ENV = 'production'
 # base api
 VUE_APP_BASE_API = '/bigScreen'
 
+# 打包后的文件夹名称
+VUE_APP_OUTPUT_DIR = 'dataRoomUi'
+
 VUE_APP_BUILD_TYPE = 'example'
\ No newline at end of file
diff --git a/data-room-ui/.gitignore b/data-room-ui/.gitignore
index 8c4df872..8f117d4a 100644
--- a/data-room-ui/.gitignore
+++ b/data-room-ui/.gitignore
@@ -369,5 +369,8 @@ GitHub.sublime-settings
 lib
 data-room-ui
 dataRoomUi
+dataRoomUi.zip
+dataRoomPro
+dataRoomPro.zip
 bigScreen
 bigScreen.zip
diff --git a/data-room-ui/.npmignore b/data-room-ui/.npmignore
index 8e77d4f1..cbaaffcf 100644
--- a/data-room-ui/.npmignore
+++ b/data-room-ui/.npmignore
@@ -4,6 +4,8 @@ example/
 dist/
 lib/
 hooks/
+dataRoomUi/
+dataRoomPro/
 
 # 只包含packages和public文件
 !packages/
diff --git a/data-room-ui/package-lock.json b/data-room-ui/package-lock.json
index 18cd5de4..5a3ee12d 100644
--- a/data-room-ui/package-lock.json
+++ b/data-room-ui/package-lock.json
@@ -3392,6 +3392,27 @@
         "whatwg-fetch": "^3.6.2"
       },
       "dependencies": {
+        "@vue/vue-loader-v15": {
+          "version": "npm:vue-loader@15.10.2",
+          "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.2.tgz",
+          "integrity": "sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==",
+          "dev": true,
+          "requires": {
+            "@vue/component-compiler-utils": "^3.1.0",
+            "hash-sum": "^1.0.2",
+            "loader-utils": "^1.1.0",
+            "vue-hot-reload-api": "^2.3.0",
+            "vue-style-loader": "^4.1.0"
+          },
+          "dependencies": {
+            "hash-sum": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
+              "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
+              "dev": true
+            }
+          }
+        },
         "acorn-walk": {
           "version": "8.2.0",
           "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
@@ -3463,6 +3484,26 @@
             "tapable": "^2.0.0"
           }
         },
+        "json5": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
+          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.2",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
+          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -3697,47 +3738,6 @@
         "lodash": "^4.17.4"
       }
     },
-    "@vue/vue-loader-v15": {
-      "version": "npm:vue-loader@15.10.2",
-      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.2.tgz",
-      "integrity": "sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==",
-      "dev": true,
-      "requires": {
-        "@vue/component-compiler-utils": "^3.1.0",
-        "hash-sum": "^1.0.2",
-        "loader-utils": "^1.1.0",
-        "vue-hot-reload-api": "^2.3.0",
-        "vue-style-loader": "^4.1.0"
-      },
-      "dependencies": {
-        "hash-sum": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz",
-          "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
-          "dev": true
-        },
-        "json5": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz",
-          "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.2",
-          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz",
-          "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        }
-      }
-    },
     "@vue/vue2-jest": {
       "version": "27.0.0",
       "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-27.0.0.tgz",
diff --git a/data-room-ui/package.json b/data-room-ui/package.json
index 37a765cf..8c0db446 100644
--- a/data-room-ui/package.json
+++ b/data-room-ui/package.json
@@ -22,10 +22,14 @@
   "scripts": {
     "serve": "vue-cli-service serve --open",
     "serve:max": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve --open",
-    "build:hash": "vue-cli-service build",
+
     "build": "vue-cli-service build",
     "build:stage": "vue-cli-service build --mode staging",
+    "build:hash": "vue-cli-service build",
     "build:history": "vue-cli-service build --mode history",
+    "build:hash:pro": "vue-cli-service build --name dataRoomPro",
+    "build:history:pro": "vue-cli-service build --mode=pro.history",
+
     "preview": "node build/index.js --preview",
     "lint": "eslint --ext .js,.vue packages",
     "lint:fix": "eslint --ext .js,.vue packages --fix",
diff --git a/data-room-ui/vue.config.example.js b/data-room-ui/vue.config.example.js
index e99b730b..b1f2c3d7 100644
--- a/data-room-ui/vue.config.example.js
+++ b/data-room-ui/vue.config.example.js
@@ -23,6 +23,8 @@ const cdn = {
 }
 const port = process.env.port || process.env.npm_config_port || 7521 // dev port
 
+console.log('process.env', process.env)
+
 const plugins = [
   new webpack.ProvidePlugin({
     jQuery: 'jquery',
@@ -42,7 +44,7 @@ module.exports = {
   },
   publicPath:
     process.env.VUE_APP_HISTORY === 'y' ? process.env.VUE_APP_BASE : './',
-  outputDir: 'dataRoomUi',
+  outputDir: process.env.VUE_APP_OUTPUT_DIR || 'dist',
   assetsDir: 'static',
   lintOnSave: false,
   productionSourceMap: false,