// 只读探针:找出本仓库(mountElementId = tvt-app)的 dev server 到底在哪个端口。 // 判据:首页 HTML 里出现 tvt-app(本仓库)而不是 app(别的项目)。 const PORTS = [5173, 5174, 8719, 8301, 9801, 3000, 8080, 8000, 4173, 7001] for (const port of PORTS) { const base = `http://127.0.0.1:${port}` try { const controller = new AbortController() const timer = setTimeout(() => controller.abort(), 4000) const res = await fetch(base + '/', { signal: controller.signal }) clearTimeout(timer) const html = await res.text() const isThisRepo = html.includes('tvt-app') const isOther = /id="app"/.test(html) const title = (html.match(/([^<]*)<\/title>/i) || [, ''])[1] console.log(`${String(port).padEnd(6)} ${res.status} tvt-app=${isThisRepo} otherApp=${isOther} title="${title.slice(0, 40)}"`) } catch (error) { console.log(`${String(port).padEnd(6)} 不可达 (${error.name === 'AbortError' ? '超时' : error.message})`) } }