Compare commits
	
		
			10 Commits
		
	
	
		
			v2.0.1
			...
			efe365c773
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| efe365c773 | |||
| 11f964186e | |||
| c4e7eeabcb | |||
| 0bcd60de30 | |||
| 15889989d0 | |||
| 9fa52eaa15 | |||
| bdd972f2ea | |||
| 5d12bd51e2 | |||
| 486e3e839f | |||
| d013dbe3ec | 
							
								
								
									
										17
									
								
								.publish.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								.publish.md
									
									
									
									
									
								
							@@ -1,8 +1,19 @@
 | 
				
			|||||||
## 发包步骤
 | 
					## 发包步骤
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					https://www.npmjs.com/package/vite-plugin-cesium-next
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
nrm use npm
 | 
					# nrm use npm
 | 
				
			||||||
npm adduser
 | 
					# npm adduser
 | 
				
			||||||
npm publish
 | 
					npm publish
 | 
				
			||||||
nrm use taobao
 | 
					# nrm use taobao
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					然后去 npmmirror 镜像源站点击同步一下
 | 
				
			||||||
 | 
					https://npmmirror.com/package/vite-plugin-cesium-next
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 撤包步骤
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					npm unpublish vite-plugin-cesium-next@<version> --force
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
							
								
								
									
										136
									
								
								README-old.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								README-old.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
				
			|||||||
 | 
					# ⚡ vite-plugin-cesium
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[](https://www.npmjs.com/package/vite-plugin-cesium)
 | 
				
			||||||
 | 
					[](https://www.npmjs.com/package/vite-plugin-cesium)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Easily set up a [`Cesium`] project in [`Vite`].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[`cesium`]: https://github.com/CesiumGS/cesium
 | 
				
			||||||
 | 
					[`vite`]: https://github.com/vitejs/vite
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**update:** if you just wanna a scaffolding by using this plugin, try a simply command `yarn create cesium`, click [create-cesium](https://www.npmjs.com/package/create-cesium) for more info.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Chinese tutorial: [中文教程](https://zhuanlan.zhihu.com/p/354856692)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					npm i cesium vite-plugin-cesium vite -D
 | 
				
			||||||
 | 
					# yarn add cesium vite-plugin-cesium vite -D
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					add this plugin to `vite.config.js`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					import { defineConfig } from 'vite';
 | 
				
			||||||
 | 
					import cesium from 'vite-plugin-cesium';
 | 
				
			||||||
 | 
					export default defineConfig({
 | 
				
			||||||
 | 
					  plugins: [cesium()]
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					add dev command to `package.json`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```json
 | 
				
			||||||
 | 
					"scripts": {
 | 
				
			||||||
 | 
					  "dev": "vite",
 | 
				
			||||||
 | 
					  "build": "vite build"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`yarn dev`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**rebuildCesium**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- **Type :** `boolean`
 | 
				
			||||||
 | 
					- **Default :** `false`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Default copy min cesium file to dist. if `true` will rebuild cesium from source.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					import { defineConfig } from 'vite';
 | 
				
			||||||
 | 
					import cesium from 'vite-plugin-cesium';
 | 
				
			||||||
 | 
					export default defineConfig({
 | 
				
			||||||
 | 
					  plugins: [
 | 
				
			||||||
 | 
					    cesium({
 | 
				
			||||||
 | 
					      rebuildCesium: true
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Demo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`src/index.js`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					import { Viewer } from 'cesium';
 | 
				
			||||||
 | 
					import './css/main.css';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const viewer = new Viewer('cesiumContainer');
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> or if you like global Cesium object you can write as
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```js
 | 
				
			||||||
 | 
					import * as Cesium from 'cesium';
 | 
				
			||||||
 | 
					const viewer = new Cesium.Viewer('cesiumContainer');
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`index.html`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```html
 | 
				
			||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="en">
 | 
				
			||||||
 | 
					  <head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8" />
 | 
				
			||||||
 | 
					    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
				
			||||||
 | 
					    <title>cesium-vite</title>
 | 
				
			||||||
 | 
					    <script type="module" src="/src/index.js"></script>
 | 
				
			||||||
 | 
					  </head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  <body>
 | 
				
			||||||
 | 
					    <div id="cesiumContainer"></div>
 | 
				
			||||||
 | 
					  </body>
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`src/css/main.css`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```css
 | 
				
			||||||
 | 
					html,
 | 
				
			||||||
 | 
					body,
 | 
				
			||||||
 | 
					#cesiumContainer {
 | 
				
			||||||
 | 
					  width: 100%;
 | 
				
			||||||
 | 
					  height: 100%;
 | 
				
			||||||
 | 
					  margin: 0;
 | 
				
			||||||
 | 
					  padding: 0;
 | 
				
			||||||
 | 
					  overflow: hidden;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Add `dev` and `build` commands to `package.json`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					"scripts": {
 | 
				
			||||||
 | 
					    "dev": "vite",
 | 
				
			||||||
 | 
					    "build": "vite build"
 | 
				
			||||||
 | 
					},
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run `yarn dev`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For full demo project please check [./demo](https://github.com/nshen/vite-plugin-cesium/tree/main/demo) folder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MIT
 | 
				
			||||||
							
								
								
									
										201
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										201
									
								
								README.md
									
									
									
									
									
								
							@@ -3,174 +3,79 @@
 | 
				
			|||||||
> 本仓库 fork 自 [nshen/vite-plugin-cesium](https://github.com/nshen/vite-plugin-cesium)
 | 
					> 本仓库 fork 自 [nshen/vite-plugin-cesium](https://github.com/nshen/vite-plugin-cesium)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
本仓库在原仓库代码基础上,主要针对性修复/优化了以下问题
 | 
					本仓库在原仓库代码基础上,主要针对性修复/优化了以下问题
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 相对路径问题:本仓库已支持在 vite.config.ts 中配置以下类型的 base: `'./'`, `'/'`, `'/foo/bar'`, `''`, `(不设置)` (新创建的项目 base 默认为 `'./'`,而原仓库针对 `'./'` 没有做很好的处理)
 | 
					- 相对路径问题:本仓库已支持在 vite.config.ts 中配置以下类型的 base: `'./'`, `'/'`, `'/foo/bar'`, `''`, `(不设置)` (新创建的项目 base 默认为 `'./'`,而原仓库针对 `'./'` 没有做很好的处理)
 | 
				
			||||||
- 资源请求路径:当 base 形如 `'/foo/bar'` 时,cesium 静态文件由 `/cesium...` 改为请求 `/foo/bar/cesium...`
 | 
					- 资源请求路径:当 base 形如 `'/foo/bar'` 时,cesium 静态文件由 `/cesium...` 改为请求 `/foo/bar/cesium...`
 | 
				
			||||||
鉴于原仓库作者可能不再维护此项目(详见:[issue](https://github.com/nshen/vite-plugin-cesium/issues/62#issuecomment-2957419669)),故 fork 本仓库 ([coder-xiaomo/vite-plugin-cesium-next](https://github.com/coder-xiaomo/vite-plugin-cesium-next)) 继续维护,欢迎提交 Issue / Pr !
 | 
					  鉴于原仓库作者可能不再维护此项目(详见:[issue](https://github.com/nshen/vite-plugin-cesium/issues/62#issuecomment-2957419669)),故 fork 本仓库 ([coder-xiaomo/vite-plugin-cesium-next](https://github.com/coder-xiaomo/vite-plugin-cesium-next)) 继续维护,欢迎提交 Issue / Pr !
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Install
 | 
					## Install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
npm i cesium vite-plugin-cesium-text vite -D
 | 
					# 记得安装 cesium 依赖哦
 | 
				
			||||||
# yarn add cesium vite-plugin-cesium-text vite -D
 | 
					npm i vite-plugin-cesium-next -D
 | 
				
			||||||
 | 
					# yarn add vite-plugin-cesium-text -D
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
add this plugin to `vite.config.js`
 | 
					add this plugin to `vite.config.ts`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```js
 | 
					```js
 | 
				
			||||||
import { defineConfig } from 'vite';
 | 
					import { defineConfig } from 'vite';
 | 
				
			||||||
import cesium from 'vite-plugin-cesium-next'; // 👈 添加这一行
 | 
					import cesium from 'vite-plugin-cesium-next'; // 👈 添加这一行
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default defineConfig({
 | 
					export default defineConfig({
 | 
				
			||||||
 | 
					  // ...
 | 
				
			||||||
  plugins: [
 | 
					  plugins: [
 | 
				
			||||||
    // ...
 | 
					    // ...
 | 
				
			||||||
    cesium(), // 👈 添加这一行
 | 
					
 | 
				
			||||||
 | 
					    // 👇 添加这一行
 | 
				
			||||||
 | 
					    // usage: https://github.com/coder-xiaomo/vite-plugin-cesium-next#usage
 | 
				
			||||||
 | 
					    cesium(),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // 或者如果你需要自定义配置,可以这样写 👇
 | 
					    // 或者如果你需要自定义配置,可以这样写 👇
 | 
				
			||||||
    // cesium({ /* 这里可以添加配置 */ }),
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
});
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
以下是原仓库 README
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# ⚡ vite-plugin-cesium
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[](https://www.npmjs.com/package/vite-plugin-cesium)
 | 
					 | 
				
			||||||
[](https://www.npmjs.com/package/vite-plugin-cesium)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Easily set up a [`Cesium`] project in [`Vite`].
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[`cesium`]: https://github.com/CesiumGS/cesium
 | 
					 | 
				
			||||||
[`vite`]: https://github.com/vitejs/vite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**update:** if you just wanna a scaffolding by using this plugin, try a simply command `yarn create cesium`, click [create-cesium](https://www.npmjs.com/package/create-cesium) for more info.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Chinese tutorial: [中文教程](https://zhuanlan.zhihu.com/p/354856692)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Install
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
npm i cesium vite-plugin-cesium vite -D
 | 
					 | 
				
			||||||
# yarn add cesium vite-plugin-cesium vite -D
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Usage
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
add this plugin to `vite.config.js`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```js
 | 
					 | 
				
			||||||
import { defineConfig } from 'vite';
 | 
					 | 
				
			||||||
import cesium from 'vite-plugin-cesium';
 | 
					 | 
				
			||||||
export default defineConfig({
 | 
					 | 
				
			||||||
  plugins: [cesium()]
 | 
					 | 
				
			||||||
});
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
add dev command to `package.json`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```json
 | 
					 | 
				
			||||||
"scripts": {
 | 
					 | 
				
			||||||
  "dev": "vite",
 | 
					 | 
				
			||||||
  "build": "vite build"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
run:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
`yarn dev`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Options
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**rebuildCesium**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- **Type :** `boolean`
 | 
					 | 
				
			||||||
- **Default :** `false`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Default copy min cesium file to dist. if `true` will rebuild cesium from source.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```js
 | 
					 | 
				
			||||||
import { defineConfig } from 'vite';
 | 
					 | 
				
			||||||
import cesium from 'vite-plugin-cesium';
 | 
					 | 
				
			||||||
export default defineConfig({
 | 
					 | 
				
			||||||
  plugins: [
 | 
					 | 
				
			||||||
    cesium({
 | 
					    cesium({
 | 
				
			||||||
      rebuildCesium: true
 | 
					      /* 这里可以添加自定义配置 */
 | 
				
			||||||
    })
 | 
					
 | 
				
			||||||
  ]
 | 
					      /**
 | 
				
			||||||
 | 
					       * 以下情况需要配置 `viteBase: '/'`
 | 
				
			||||||
 | 
					       * 如果你的 baseUrl 是 './', 同时使用了 vue-router 的 history 模式路由
 | 
				
			||||||
 | 
					       * 当存在二级或以上路由时, 相对路径获取 Cesium 静态资源会找不到
 | 
				
			||||||
 | 
					       * 此时请将这里 viteBase 请配置为 '/'
 | 
				
			||||||
 | 
					       *
 | 
				
			||||||
 | 
					       * 以下情况可不配置 viteBase:
 | 
				
			||||||
 | 
					       * 如果 baseUrl 是 / 开头的, 可不配置 viteBase, 插件会自动获取 vite.config.ts 内 base 配置
 | 
				
			||||||
 | 
					       * 如果 vue-router 使用的是 hash 模式路由 (形如: `#/foo/bar`), 不影响静态资源地址, 可不配置 viteBase
 | 
				
			||||||
 | 
					       * 如果 vue-router 使用的是 history 模式路由, 使用 Cesium 的所有页面:
 | 
				
			||||||
 | 
					       *   - 若只有一级路由 (形如: `/foo`), 不需要配置 viteBase
 | 
				
			||||||
 | 
					       *   - 若存在多级路由 (形如: `/foo/bar`), ⚠需要配置 viteBase
 | 
				
			||||||
 | 
					       *
 | 
				
			||||||
 | 
					       * default: 自动获取
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      viteBase: '/', // type: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /**
 | 
				
			||||||
 | 
					       * rebuild cesium library
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      rebuildCesium: false, // type: boolean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /**
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      devMinifyCesium: false, // type: boolean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /**
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      cesiumBuildRootPath: 'node_modules/cesium/Build', // type: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /**
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      cesiumBuildPath: 'node_modules/cesium/Build/Cesium/', // type: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      /**
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      cesiumBaseUrl: 'cesium/', // type: string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					 | 
				
			||||||
## Demo
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
`src/index.js`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```js
 | 
					 | 
				
			||||||
import { Viewer } from 'cesium';
 | 
					 | 
				
			||||||
import './css/main.css';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const viewer = new Viewer('cesiumContainer');
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
> or if you like global Cesium object you can write as
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```js
 | 
					 | 
				
			||||||
import * as Cesium from 'cesium';
 | 
					 | 
				
			||||||
const viewer = new Cesium.Viewer('cesiumContainer');
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
`index.html`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```html
 | 
					 | 
				
			||||||
<!DOCTYPE html>
 | 
					 | 
				
			||||||
<html lang="en">
 | 
					 | 
				
			||||||
  <head>
 | 
					 | 
				
			||||||
    <meta charset="UTF-8" />
 | 
					 | 
				
			||||||
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 | 
					 | 
				
			||||||
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
 | 
					 | 
				
			||||||
    <title>cesium-vite</title>
 | 
					 | 
				
			||||||
    <script type="module" src="/src/index.js"></script>
 | 
					 | 
				
			||||||
  </head>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  <body>
 | 
					 | 
				
			||||||
    <div id="cesiumContainer"></div>
 | 
					 | 
				
			||||||
  </body>
 | 
					 | 
				
			||||||
</html>
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
`src/css/main.css`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```css
 | 
					 | 
				
			||||||
html,
 | 
					 | 
				
			||||||
body,
 | 
					 | 
				
			||||||
#cesiumContainer {
 | 
					 | 
				
			||||||
  width: 100%;
 | 
					 | 
				
			||||||
  height: 100%;
 | 
					 | 
				
			||||||
  margin: 0;
 | 
					 | 
				
			||||||
  padding: 0;
 | 
					 | 
				
			||||||
  overflow: hidden;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Add `dev` and `build` commands to `package.json`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
"scripts": {
 | 
					 | 
				
			||||||
    "dev": "vite",
 | 
					 | 
				
			||||||
    "build": "vite build"
 | 
					 | 
				
			||||||
},
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Run `yarn dev`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
For full demo project please check [./demo](https://github.com/nshen/vite-plugin-cesium/tree/main/demo) folder.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
##
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## License
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
MIT
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "vite-plugin-cesium-next",
 | 
					  "name": "vite-plugin-cesium-next",
 | 
				
			||||||
  "version": "2.0.1",
 | 
					  "version": "2.0.4",
 | 
				
			||||||
  "description": "Cesium library plugin for Vite",
 | 
					  "description": "Cesium library plugin for Vite",
 | 
				
			||||||
  "main": "./dist/index.js",
 | 
					  "main": "./dist/index.js",
 | 
				
			||||||
  "module": "./dist/index.mjs",
 | 
					  "module": "./dist/index.mjs",
 | 
				
			||||||
@@ -32,20 +32,20 @@
 | 
				
			|||||||
  "license": "MIT",
 | 
					  "license": "MIT",
 | 
				
			||||||
  "repository": {
 | 
					  "repository": {
 | 
				
			||||||
    "type": "git",
 | 
					    "type": "git",
 | 
				
			||||||
    "url": "git+https://github.com/coder-xiaomo/vite-plugin-cesium-next"
 | 
					    "url": "git+https://github.com/coder-xiaomo/vite-plugin-cesium-next.git"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "bugs": {
 | 
					  "bugs": {
 | 
				
			||||||
    "url": "https://github.com/coder-xiaomo/vite-plugin-cesium-next/issues"
 | 
					    "url": "https://github.com/coder-xiaomo/vite-plugin-cesium-next/issues"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "dependencies": {
 | 
					  "dependencies": {
 | 
				
			||||||
    "fs-extra": "^11.3.0",
 | 
					    "fs-extra": "^11.3.0",
 | 
				
			||||||
    "rollup-plugin-external-globals": "^0.6.1",
 | 
					    "rollup-plugin-external-globals": "^0.13.0",
 | 
				
			||||||
    "serve-static": "^1.16.2"
 | 
					    "serve-static": "^1.16.2"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "devDependencies": {
 | 
					  "devDependencies": {
 | 
				
			||||||
    "@tsconfig/node22": "^22.0.2",
 | 
					    "@tsconfig/node22": "^22.0.2",
 | 
				
			||||||
    "@types/fs-extra": "^11.0.4",
 | 
					    "@types/fs-extra": "^11.0.4",
 | 
				
			||||||
    "@types/node": "^22.15.31",
 | 
					    "@types/node": "^22.15.32",
 | 
				
			||||||
    "@types/serve-static": "^1.15.8",
 | 
					    "@types/serve-static": "^1.15.8",
 | 
				
			||||||
    "prettier": "^3.5.3",
 | 
					    "prettier": "^3.5.3",
 | 
				
			||||||
    "tsup": "^8.5.0",
 | 
					    "tsup": "^8.5.0",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										41
									
								
								src/index.ts
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								src/index.ts
									
									
									
									
									
								
							@@ -6,24 +6,59 @@ import { HtmlTagDescriptor, normalizePath, Plugin, UserConfig } from 'vite';
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
interface VitePluginCesiumOptions {
 | 
					interface VitePluginCesiumOptions {
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * rebuild cesium library, default: false
 | 
					   * 以下情况需要配置 `viteBase: '/'`
 | 
				
			||||||
 | 
					   * 如果你的 baseUrl 是 './', 同时使用了 vue-router 的 history 模式路由
 | 
				
			||||||
 | 
					   * 当存在二级或以上路由时, 相对路径获取 Cesium 静态资源会找不到
 | 
				
			||||||
 | 
					   * 此时请将这里 viteBase 请配置为 '/'
 | 
				
			||||||
 | 
					   *
 | 
				
			||||||
 | 
					   * 以下情况可不配置 viteBase:
 | 
				
			||||||
 | 
					   * 如果 baseUrl 是 / 开头的, 可不配置 viteBase, 插件会自动获取 vite.config.ts 内 base 配置
 | 
				
			||||||
 | 
					   * 如果 vue-router 使用的是 hash 模式路由 (形如: `#/foo/bar`), 不影响静态资源地址, 可不配置 viteBase
 | 
				
			||||||
 | 
					   * 如果 vue-router 使用的是 history 模式路由, 使用 Cesium 的所有页面:
 | 
				
			||||||
 | 
					   *   - 若只有一级路由 (形如: `/foo`), 不需要配置 viteBase
 | 
				
			||||||
 | 
					   *   - 若存在多级路由 (形如: `/foo/bar`), ⚠需要配置 viteBase
 | 
				
			||||||
 | 
					   *
 | 
				
			||||||
 | 
					   * default: 自动获取
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  viteBase?: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * rebuild cesium library
 | 
				
			||||||
 | 
					   *
 | 
				
			||||||
 | 
					   * default: false
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  rebuildCesium?: boolean;
 | 
					  rebuildCesium?: boolean;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * default: false
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  devMinifyCesium?: boolean;
 | 
					  devMinifyCesium?: boolean;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * default: 'node_modules/cesium/Build'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  cesiumBuildRootPath?: string;
 | 
					  cesiumBuildRootPath?: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * default: 'node_modules/cesium/Build/Cesium/'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  cesiumBuildPath?: string;
 | 
					  cesiumBuildPath?: string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /**
 | 
				
			||||||
 | 
					   * default: 'cesium/'
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
  cesiumBaseUrl?: string;
 | 
					  cesiumBaseUrl?: string;
 | 
				
			||||||
  viteBase?: string;
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default function vitePluginCesium(options: VitePluginCesiumOptions = {}): Plugin {
 | 
					export default function vitePluginCesium(options: VitePluginCesiumOptions = {}): Plugin {
 | 
				
			||||||
  const {
 | 
					  const {
 | 
				
			||||||
 | 
					    viteBase = undefined,
 | 
				
			||||||
    rebuildCesium = false,
 | 
					    rebuildCesium = false,
 | 
				
			||||||
    devMinifyCesium = false,
 | 
					    devMinifyCesium = false,
 | 
				
			||||||
    cesiumBuildRootPath = 'node_modules/cesium/Build',
 | 
					    cesiumBuildRootPath = 'node_modules/cesium/Build',
 | 
				
			||||||
    cesiumBuildPath = 'node_modules/cesium/Build/Cesium/',
 | 
					    cesiumBuildPath = 'node_modules/cesium/Build/Cesium/',
 | 
				
			||||||
    cesiumBaseUrl = 'cesium/',
 | 
					    cesiumBaseUrl = 'cesium/',
 | 
				
			||||||
    viteBase = undefined,
 | 
					 | 
				
			||||||
  } = options;
 | 
					  } = options;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const CESIUM_BASE_URL = cesiumBaseUrl.endsWith('/')
 | 
					  const CESIUM_BASE_URL = cesiumBaseUrl.endsWith('/')
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user