@uavs/3d-model-map 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,38 +32,24 @@ pnpm config set @uavs:registry <registry-url>
32
32
  pnpm add @uavs/3d-model-map
33
33
  ```
34
34
 
35
- `@uavs/3d-model-map` 会把 `vue`、`mars3d`、`mars3d-cesium`、`@turf/turf` 作为 peer dependencies 使用。业务项目里已经有这些依赖时,不需要重复安装,只要版本兼容即可。
36
-
37
- 如果某个接入项目缺少这些依赖,再按需补装:
38
-
39
- ```bash
40
- pnpm add <缺失的包名>
41
- ```
42
-
43
- ### 推荐补装依赖
44
-
45
- 如果接入项目缺少运行时 peer dependencies,推荐按下面的版本补装:
46
-
47
- ```bash
48
- pnpm add mars3d@3.11.2 mars3d-cesium@1.140.0 @turf/turf@^7.3.5
49
- ```
35
+ `@uavs/3d-model-map` 会随包安装 `mars3d`、`mars3d-cesium`、`@turf/turf` Cesium 静态资源复制插件。业务项目通常只需要自己已有的 `vue` 和 `vite`。
50
36
 
51
- Vue 项目通常已经安装了 `vue`;如果没有,再补装:
37
+ 如果业务项目还没有 Vue,再补装:
52
38
 
53
39
  ```bash
54
- pnpm add vue@^3.5.16
40
+ pnpm add vue
55
41
  ```
56
42
 
57
- Vite 项目使用包内 `createCesiumStaticPlugins` 时,不需要单独安装 `vite-plugin-static-copy`,它会随 `@uavs/3d-model-map` 一起安装;宿主项目本身仍需要有 `vite`。
43
+ Vite 项目使用包内 `createCesiumStaticPlugins` 时,不需要单独安装 `vite-plugin-static-copy`,也不需要单独安装 `mars3d`、`mars3d-cesium` `@turf/turf`。
58
44
 
59
45
  ## Cesium 依赖
60
46
 
61
- 组件会按下面的顺序使用 Cesium:
62
-
63
- 1. 如果业务项目已经初始化了 `window.Cesium`,直接复用。
64
- 2. 如果没有 `window.Cesium`,从 peer dependency `mars3d-cesium` 动态加载 Cesium `Widgets/widgets.css`。
65
-
66
- 接入项目只要本身已经依赖 `mars3d-cesium`,并且构建工具可以正常处理 `mars3d-cesium/Build/Cesium/Widgets/widgets.css` 即可。
47
+ 组件会按下面的顺序使用 Cesium:
48
+
49
+ 1. 如果业务项目已经初始化了 `window.Cesium`,直接复用。
50
+ 2. 如果没有 `window.Cesium`,从宿主应用的 `BASE_URL + lib/Cesium/Cesium.js` 加载 Cesium,并设置 `window.CESIUM_BASE_URL`。
51
+
52
+ 接入项目必须在 Vite 配置里调用 `createCesiumStaticPlugins()`,它会在开发环境提供 `/lib/Cesium/*` 静态资源,并在构建时把 Cesium 资源复制到产物的 `lib/Cesium` 目录。
67
53
 
68
54
  如果地图配置里用到了底图预览图片,也需要在业务项目里准备:
69
55
 
@@ -78,20 +64,17 @@ public/img/basemaps
78
64
  使用 Vite 的项目建议在 `vite.config.ts` 中加入 Cesium 静态资源插件、Mars3D Cesium shim 和依赖预构建排除:
79
65
 
80
66
  ```ts
81
- import { fileURLToPath, URL } from 'node:url'
82
67
  import { defineConfig, loadEnv } from 'vite'
83
68
  import vue from '@vitejs/plugin-vue'
84
69
  import { createCesiumStaticPlugins, createMapdataProxy } from '@uavs/3d-model-map/vite/cesium'
85
70
 
86
- const cesiumSource = fileURLToPath(new URL('./node_modules/mars3d-cesium/Build/Cesium', import.meta.url))
87
-
88
71
  export default defineConfig(({ mode }) => {
89
72
  const env = loadEnv(mode, import.meta.dirname)
90
73
 
91
74
  return {
92
75
  plugins: [
93
76
  vue(),
94
- ...createCesiumStaticPlugins(cesiumSource)
77
+ ...createCesiumStaticPlugins()
95
78
  ],
96
79
  resolve: {
97
80
  alias: [
@@ -115,7 +98,7 @@ export default defineConfig(({ mode }) => {
115
98
  })
116
99
  ```
117
100
 
118
- 如果项目的 `mars3d-cesium` 不在当前项目根目录的 `node_modules` 下,可以把 `cesiumSource` 改成实际路径,但必须指向 `mars3d-cesium/Build/Cesium`。
101
+ `createCesiumStaticPlugins()` 默认会从 `@uavs/3d-model-map` 自己的依赖里解析 `mars3d-cesium/Build/Cesium`。如果项目确实需要指定自定义 Cesium 资源目录,也可以传入实际路径,但必须指向 `mars3d-cesium/Build/Cesium`。
119
102
 
120
103
  ## 基础用法
121
104
 
@@ -380,7 +363,7 @@ pnpm --filter @uavs/3d-model-map publish
380
363
  ## 接入项目检查清单
381
364
 
382
365
  - 已安装 `@uavs/3d-model-map`。
383
- - 业务项目已有并满足版本要求的 peer dependencies:`vue`、`mars3d@3.11.2`、`mars3d-cesium@1.140.0`、`@turf/turf@^7.3.5`。
366
+ - 业务项目已有 Vue/Vite;`mars3d`、`mars3d-cesium`、`@turf/turf` 会随 `@uavs/3d-model-map` 安装。
384
367
  - 已导入 `@uavs/3d-model-map/style.css`。
385
368
  - Vite 项目已从 `@uavs/3d-model-map/vite/cesium` 接入 `createCesiumStaticPlugins`。
386
369
  - Vite 项目已把 `mars3d-cesium` alias 到 `@uavs/3d-model-map/runtime/mars3d-cesium-shim`。