增加脚本,支持docker环境变量的方式传入服务端接口地址
This commit is contained in:
+13
-1
@@ -2,6 +2,10 @@ FROM nginx
|
||||
MAINTAINER jeecgos@163.com
|
||||
VOLUME /tmp
|
||||
ENV LANG en_US.UTF-8
|
||||
|
||||
ENV VITE_GLOB_API_URL https://api.xjygjk.com
|
||||
ENV VITE_GLOB_DOMAIN_URL https://api.xjygjk.com
|
||||
|
||||
RUN echo "server { \
|
||||
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
|
||||
location / { \
|
||||
@@ -18,4 +22,12 @@ RUN echo "server { \
|
||||
&& mkdir -p /var/www/html
|
||||
|
||||
ADD dist/ /var/www/html/
|
||||
EXPOSE 3100
|
||||
|
||||
# 添加运行时注入脚本
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
# 启动脚本
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# 从环境变量获取 APP_SHORT_NAME
|
||||
APP_SHORT_NAME="${VITE_GLOB_APP_SHORT_NAME:-CQYTHEALTHADMIN}"
|
||||
CONFIG_VAR="__PRODUCTION__${APP_SHORT_NAME}__CONF__"
|
||||
|
||||
# 1. 创建运行时配置文件
|
||||
cat > /var/www/html/config.js << EOF
|
||||
// 动态注入运行时配置
|
||||
window['$CONFIG_VAR'] = {
|
||||
"VITE_GLOB_APP_TITLE": "${VITE_GLOB_APP_TITLE:-健康管理后台}",
|
||||
"VITE_GLOB_APP_TITLE_JD": "${VITE_GLOB_APP_TITLE_JD:-健康干预后台}",
|
||||
"VITE_GLOB_APP_SHORT_NAME": "${VITE_GLOB_APP_SHORT_NAME:-CqytHealthAdmin}",
|
||||
"VITE_GLOB_APP_CAS_BASE_URL": "${VITE_GLOB_APP_CAS_BASE_URL:-http://cas.default.com/cas}",
|
||||
"VITE_GLOB_APP_OPEN_SSO": ${VITE_GLOB_APP_OPEN_SSO:-false},
|
||||
"VITE_GLOB_APP_OPEN_QIANKUN": ${VITE_GLOB_APP_OPEN_QIANKUN:-true},
|
||||
"VITE_GLOB_ONLINE_VIEW_URL": "${VITE_GLOB_ONLINE_VIEW_URL:-http://fileview.jeecg.com/onlinePreview}",
|
||||
"VITE_GLOB_API_URL": "${VITE_GLOB_API_URL:-http://default-api.com}",
|
||||
"VITE_GLOB_DOMAIN_URL": "${VITE_GLOB_DOMAIN_URL:-http://default-domain.com}",
|
||||
"VITE_GLOB_ST_DOMAIN_URL": "${VITE_GLOB_ST_DOMAIN_URL:-http://default-domain.com}",
|
||||
"VITE_GLOB_API_URL_PREFIX": "${VITE_GLOB_API_URL_PREFIX:-}"
|
||||
};
|
||||
|
||||
// 冻结对象(可选,模拟生产行为)
|
||||
Object.freeze(window['$CONFIG_VAR']);
|
||||
Object.defineProperty(window, '$CONFIG_VAR', {
|
||||
configurable: false,
|
||||
writable: false
|
||||
});
|
||||
EOF
|
||||
|
||||
# 2. 修改 index.html:
|
||||
# - 在 </head> 前插入 <script src="/config.js">
|
||||
# - 并注释或移除原始的 _app.config.js 加载
|
||||
sed -i '/<head[ >]/a <script src="\/config.js" defer><\/script>' /var/www/html/index.html
|
||||
|
||||
# 3. 屏蔽原始 _app.config.js(通过注释 script 标签)
|
||||
# 匹配 src="/_app.config.js" 开头,允许后面有 ?v=任意字符
|
||||
sed -i 's|<script[^>]*src="/_app.config.js[^"]*"[^>]*></script>|<!-- 屏蔽构建时配置:<script src="/_app.config.js" /> -->|g' /var/www/html/index.html
|
||||
|
||||
# 启动 Nginx
|
||||
exec nginx -g "daemon off;"
|
||||
Reference in New Issue
Block a user