45 lines
2.6 KiB
HTML
45 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
|
||
<meta content="telephone=no,email=no" name="format-detection" />
|
||
<meta http-equiv="Access-Control-Allow-Origin" content="*" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title><%= htmlWebpackPlugin.options.title %></title>
|
||
<script src="./config/index.js"></script>
|
||
<link rel="stylesheet" href="./libs/base.layout.css" />
|
||
<link rel="stylesheet" href="./libs/default-theme.css" />
|
||
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_4962449_bwzjcx59wz4.css" />
|
||
<!-- 主题通道引导(A 类免插件接入,见 YschTheme《管理端主题远程化与公共静态通道方案》§11):
|
||
唯一接入点。不装 npm 依赖、不改构建配置;FOUC 门、manifest 预取、主题 <link> 追加与
|
||
排序(晚于 viewuiplus.css)全由通道 yh-theme-init.js 承担,主题升级走 /static 通道,
|
||
本应用无需重新构建。
|
||
origin 零写死,优先级四档:__APP_CONFIG__.staticHost(专用通道覆盖)
|
||
> __APP_CONFIG__.baseHost(env-config 在线维护,换域名改配置即生效)
|
||
> %VITE_THEME_HOST%(仅 dev 注入的跨源直连,需通道已开 CORS)
|
||
> 同源相对 "/static/…"(生产常态:本应用部署在 base 域 /<app>/front/,与通道同源;
|
||
本地 dev 由 vue.config.js 的 /static 代理兜到通道)。
|
||
document.write 是有意为之:保证 parser-blocking,让档位类与 FOUC 门先于首帧;
|
||
build 不读 .env,占位符留字面量 → 判首字符 % 置空 → 产物零环境值烧入。 -->
|
||
<script>
|
||
(function () {
|
||
var c = window.__APP_CONFIG__ || {};
|
||
var themeHost = "%VITE_THEME_HOST%";
|
||
if (themeHost.charAt(0) === "%") themeHost = "";
|
||
var host = String(c.staticHost || c.baseHost || themeHost).replace(/\/+$/, "");
|
||
document.write('<script src="' + host + '/static/js/yh-theme-init.js"><\/script>');
|
||
})();
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"></div>
|
||
<script src="./libs/vue.js"></script>
|
||
<script src="./libs/jquery.min.js"></script>
|
||
<script src="./libs/axios.js"></script>
|
||
<script src="./libs/clipboard.min.js"></script>
|
||
</body>
|
||
</html>
|