| 1234567891011121314151617181920 |
- // 只读探针:找出本仓库(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>([^<]*)<\/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})`)
- }
- }
|