HTML不创建manifest.json,仅通过<link rel="manifest">引入;该文件须手动编写并部署于根目录或正确路径,满足HTTPS、application/manifest+json MIME类型、非空name/short_name及含192x192和512x512 PNG图标的icons等条件。

HTML 本身不创建 manifest.json,它只是通过 <link rel="manifest"> 引入一个独立的 JSON 文件;这个文件必须由开发者手动编写并部署在 Web 服务器上,且需满足 MIME 类型、路径可访问、HTTPS(生产环境)等硬性要求。
manifest.json 文件必须放在 Web 根目录或可被正确引用的路径下
浏览器只接受通过绝对路径或相对于 HTML 文档的合法路径加载 manifest。常见错误是把文件放在 /src/ 或 /assets/ 下却用根路径引用,导致 404。
- 推荐做法:将
manifest.json放在网站根目录(如https://example.com/manifest.json),然后在 HTML 的<head>中写:<link rel="manifest" href="/manifest.json">
- 如果放子目录(如
/static/manifest.json),href 必须匹配:<link rel="manifest" href="/static/manifest.json">
- 开发时用
file://协议打不开 manifest——PWA 要求 HTTPS(localhost 除外)
必需字段只有 name、short_name 和 icons
缺任意一项,Chrome 等浏览器会直接忽略 manifest,不触发“添加到主屏幕”提示。尤其 icons 数组必须至少含一个 192×192 和一个 512×512 PNG 图标,且 src 路径可访问、type 正确、sizes 格式为 "192x192"(不是 192x192 或 "192×192")。
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
-
name是安装后显示的全名;short_name是主屏幕图标下方文字(建议 ≤12 字符) -
icons中每个对象必须有src、sizes、type,例如:[{"src": "/icon-192.png", "sizes": "192x192", "type": "image/png"}] -
start_url建议设为"./"或"/",避免相对路径解析失败;若设为"index.html",离线时可能 404
service worker 注册和 manifest 是两件事,不能互相替代
有 manifest.json ≠ 是 PWA;没注册 service worker,就无法缓存资源、离线运行或真正“安装”。manifest 只负责描述应用元信息,而安装行为依赖 service worker 控制页面生命周期。
立即学习“前端免费学习笔记(深入)”;
- 必须在 JS 中显式注册 service worker:
navigator.serviceWorker.register('/sw.js') -
sw.js文件需存在、返回200、MIME 类型为text/javascript,且不能是 301 重定向目标 - manifest 中的
display: "standalone"只在 service worker 已激活后才生效;否则仍以浏览器标签形式打开
最容易被忽略的是:修改 manifest.json 后,旧版本会被浏览器强缓存——用户不会自动看到更新,必须清空站点数据或等待 24 小时以上。上线前务必检查网络面板中 manifest.json 的响应头是否含 Cache-Control: no-cache 或类似配置。

















