Build and Publish Server / build (push) Successful in 1m21s
- 原 unpkg 的 @inertiajs/vue3 UMD 路径 404,Inertia undefined - 改用 import map + esm.sh ESM CDN(自动解析依赖树) - vue 用含模板编译器的完整版 dist/vue.esm-browser.prod.js - inertia 用 ?bundle&external=vue,保证与 import map 的 vue 单实例 - 解决 runtime-only vue 无法编译 template 字符串导致的白屏
48 lines
1.9 KiB
HTML
48 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{ .title }} - 祈福小助手管理后台</title>
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
<!-- Vue + Inertia 通过 import map 从 esm.sh 加载(ESM,自动解析依赖树,国内可访问) -->
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"vue": "https://esm.sh/vue@3.4.21/dist/vue.esm-browser.prod.js",
|
|
"@inertiajs/vue3": "https://esm.sh/@inertiajs/vue3@1.0.0?bundle&external=vue"
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
<body class="bg-gray-100">
|
|
<div id="app" data-page='{"component":"{{ .page }}","props":{},"url":"{{ .url }}","version":""}'></div>
|
|
|
|
<script type="module">
|
|
import { createApp, h } from 'vue';
|
|
import { createInertiaApp } from '@inertiajs/vue3';
|
|
|
|
createInertiaApp({
|
|
resolve: name => {
|
|
const pages = {
|
|
login: () => import('/static/js/pages/Login.js'),
|
|
dashboard: () => import('/static/js/pages/Dashboard.js'),
|
|
users: () => import('/static/js/pages/Users.js'),
|
|
orders: () => import('/static/js/pages/Orders.js'),
|
|
wishes: () => import('/static/js/pages/Wishes.js'),
|
|
wiki: () => import('/static/js/pages/Wiki.js'),
|
|
settings: () => import('/static/js/pages/Settings.js'),
|
|
};
|
|
return pages[name] ? pages[name]() : pages.dashboard();
|
|
},
|
|
setup({ el, App, props, plugin }) {
|
|
createApp({ render: () => h(App, props) })
|
|
.use(plugin)
|
|
.mount(el);
|
|
},
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|