# Preview:Cesium 预览层 > 覆盖浏览器运行时 `scripts/lib/cesium-preview.js`(672 行)与 > `cesium-preview.css`(230 行),以及 Node 侧的 `scripts/lib/area-preview.js`。 > 运行时:浏览器。全仓唯一的 DOM 环境。 --- ## 定位 预览层是**验证性的,不是产物本身**。它加载 `cesium` 阶段导出的 `.glb` + `.json`, 用来确认资产在真实 Cesium 里的样子。改这一层**不会**改变 Blender/GLB 主资产。 车辆巡航同理——README 里写明它是"用于验证高精度巡航可用性的预览层功能"。 --- ## 没有构建步骤 ``` scripts/lib/cesium-preview.js ─── 原样 copyFileSync ──▶ outputs//cesium-preview.js scripts/lib/cesium-preview.css ─── 原样 copyFileSync ──▶ outputs//cesium-preview.css (area-preview.js:writeCesiumPreviewSupportFiles) -cesium-preview.html ─── 模板字符串生成 ────▶ 同目录 (area-preview.js:cesiumPreviewHtml) ``` 所以:**没有打包、没有转译、没有 npm 依赖、没有模块系统**。浏览器直接吃。 写代码时只能用目标浏览器原生支持的语法,`Cesium` 从 CDN 全局引入。 整个文件是一个 IIFE + `"use strict"`(`cesium-preview.js:1-2`)。 --- ## 参数注入 JS 不硬编码任何文件名,全部从 HTML 注入的全局对象读: ```js const config = window.OSM_ASSET_PREVIEW_CONFIG || {}; // :4 // config.areaId / .glbName / .metadataName / .routeName / .vehicleModelName ``` 生成侧在 `scripts/lib/area-preview.js` 的 `cesiumPreviewHtml()`,注入时**必须转义**: | 场景 | 用 | |---|---| | HTML 文本/属性 | `escapeHtml()` | | `