|
|
@@ -163,22 +163,27 @@ const width = computed(() => {
|
|
|
|
|
|
// srcdoc 外链 CDN 镜像替换
|
|
|
const CDN_RULES: [RegExp, string][] = [
|
|
|
- // jsDelivr 全系列 → JSDMirror
|
|
|
+ // ===== lucide 特殊处理:必须指向 UMD 路径,并锁定版本 =====
|
|
|
+ [/unpkg\.com\/lucide@latest/g,
|
|
|
+ 'cdn.jsdmirror.com/npm/lucide@1.47.0/dist/umd/lucide.min.js'],
|
|
|
+ [/unpkg\.com\/lucide@([\d.]+)/g,
|
|
|
+ 'cdn.jsdmirror.com/npm/lucide@$1/dist/umd/lucide.min.js'],
|
|
|
+
|
|
|
+ // ===== 其他 unpkg 包 → jsDelivr npm 路径 =====
|
|
|
+ [/unpkg\.com/g, 'cdn.jsdelivr.net/npm'],
|
|
|
+
|
|
|
+ // ===== jsDelivr 全系列 → JSDMirror =====
|
|
|
[/cdn\.jsdelivr\.net/g, 'cdn.jsdmirror.com'],
|
|
|
[/fastly\.jsdelivr\.net/g, 'cdn.jsdmirror.com'],
|
|
|
[/gcore\.jsdelivr\.net/g, 'cdn.jsdmirror.com'],
|
|
|
- // unpkg → JSDMirror 优先(路径兼容),失败时可用字节镜像
|
|
|
- [/unpkg\.com/g, 'cdn.jsdmirror.com'],
|
|
|
- // cdnjs → 保持
|
|
|
+
|
|
|
+ // ===== cdnjs、Google Fonts、jQuery、Tailwind 规则保持不变 =====
|
|
|
[/cdnjs\.cloudflare\.com/g, 'cdnjs.loli.net'],
|
|
|
- // Google Fonts → 国内镜像
|
|
|
[/fonts\.googleapis\.com/g, 'fonts.loli.net'],
|
|
|
[/fonts\.gstatic\.com/g, 'gstatic.loli.net'],
|
|
|
- // jQuery
|
|
|
[/code\.jquery\.com/g, 'cdn.jsdmirror.com/npm/jquery'],
|
|
|
- // Tailwind Play CDN → UnoCSS 运行时替代
|
|
|
[/https?:\/\/cdn\.tailwindcss\.com[\d.\/]*/g,
|
|
|
- 'https://cdn.jsdmirror.com/npm/@unocss/runtime@latest/uno.global.js'],
|
|
|
+ 'https://cdn.jsdmirror.com/npm/@tailwindcss/browser@4.3.3'],
|
|
|
]
|
|
|
|
|
|
const processedSrcDoc = computed(() => {
|