feat: 1.2.3版本发布
This commit is contained in:
parent
2ec92f0020
commit
446c843f8f
66
README.md
66
README.md
|
@ -1,6 +1,6 @@
|
||||||
# ⚡ vite-plugin-earth
|
# ⚡ vite-plugin-earth
|
||||||
|
|
||||||
Easily set up a [`Cesium`] & [`mars3d`] project in [`Vite`].
|
Easily set up a [`cesium`] & [`mars3d-cesium`] project in [`Vite`].
|
||||||
|
|
||||||
[`cesium`]: https://github.com/CesiumGS/cesium
|
[`cesium`]: https://github.com/CesiumGS/cesium
|
||||||
[`mars3d`]: https://mars3d.cn/
|
[`mars3d`]: https://mars3d.cn/
|
||||||
|
@ -8,8 +8,7 @@ Easily set up a [`Cesium`] & [`mars3d`] project in [`Vite`].
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm i cesium vite-plugin-earth vite -D
|
npm i vite-plugin-earth -D
|
||||||
# yarn add cesium vite-plugin-earth vite -D
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -18,28 +17,53 @@ add this plugin to `vite.config.js`
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import earthPlugin from 'vite-plugin-earth';
|
import earth from 'vite-plugin-earth';
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [earthPlugin()]
|
plugins: [earth()]
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
add dev command to `package.json`
|
|
||||||
|
|
||||||
```json
|
|
||||||
"scripts": {
|
|
||||||
"dev": "vite",
|
|
||||||
"build": "vite build"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
run:
|
|
||||||
|
|
||||||
`yarn dev`
|
|
||||||
|
|
||||||
## Options
|
## Options
|
||||||
|
|
||||||
**rebuildCesium**
|
### **pkgName**
|
||||||
|
|
||||||
|
- **Type :** `string`
|
||||||
|
- **Default :** `cesium`
|
||||||
|
|
||||||
|
`mars3d-cesium` 为`mars3d`对应的依赖库
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { defineConfig } from 'vite';
|
||||||
|
import earth from 'vite-plugin-earth';
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [
|
||||||
|
earth({
|
||||||
|
pkgName: 'mars3d-cesium'
|
||||||
|
})
|
||||||
|
]
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
### **libPath**
|
||||||
|
|
||||||
|
- **Type :** `string`
|
||||||
|
- **Default :** `lib`
|
||||||
|
|
||||||
|
将类库复制到指定的`lib/`目录下面
|
||||||
|
|
||||||
|
```js
|
||||||
|
import { defineConfig } from 'vite';
|
||||||
|
import earth from 'vite-plugin-earth';
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [
|
||||||
|
earth({
|
||||||
|
libPath: 'lib'
|
||||||
|
})
|
||||||
|
]
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
### **rebuildCesium**
|
||||||
|
|
||||||
- **Type :** `boolean`
|
- **Type :** `boolean`
|
||||||
- **Default :** `false`
|
- **Default :** `false`
|
||||||
|
@ -48,10 +72,10 @@ Default copy min cesium file to dist. if `true` will rebuild cesium from source.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
import earthPlugin from 'vite-plugin-earth';
|
import earth from 'vite-plugin-earth';
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [
|
plugins: [
|
||||||
earthPlugin({
|
earth({
|
||||||
rebuildCesium: true
|
rebuildCesium: true
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "vite-plugin-earth",
|
"name": "vite-plugin-earth",
|
||||||
"version": "1.1.0",
|
"version": "1.2.3",
|
||||||
"description": "cesium & mars3d library plugin for Vite",
|
"description": "cesium & mars3d library plugin for Vite",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|
68
src/index.ts
68
src/index.ts
|
@ -7,30 +7,28 @@ import fs from 'fs-extra';
|
||||||
import serveStatic from 'serve-static';
|
import serveStatic from 'serve-static';
|
||||||
import { HtmlTagDescriptor, normalizePath, Plugin } from 'vite';
|
import { HtmlTagDescriptor, normalizePath, Plugin } from 'vite';
|
||||||
|
|
||||||
interface VitePluginCesiumOptions {
|
interface PluginOptions {
|
||||||
libsPath?: String;
|
libPath: String;
|
||||||
useUnminified?: Boolean;
|
useUnminified: Boolean;
|
||||||
npmPkgName?: String;
|
pkgName: 'mars3d-cesium' | 'cesium';
|
||||||
useMars3d?: Boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function vitePluginCesium(
|
function vitePluginEarth(
|
||||||
options: VitePluginCesiumOptions = {
|
options: PluginOptions = {
|
||||||
libsPath: 'libs',
|
libPath: 'lib',
|
||||||
useUnminified: false,
|
useUnminified: false,
|
||||||
npmPkgName: 'mars3d-cesium',
|
pkgName: 'cesium'
|
||||||
useMars3d: false
|
|
||||||
}
|
}
|
||||||
): Plugin {
|
): Plugin {
|
||||||
const cesiumBuildPath = `./node_modules/${options.npmPkgName}/Build`;
|
const cesiumBuildPath = `./node_modules/${options.pkgName}/Build`;
|
||||||
let base = '/';
|
let base = '/';
|
||||||
let outDir = 'dist';
|
let outDir = 'dist';
|
||||||
let isBuild = false;
|
let isBuild = false;
|
||||||
let libsPath = options.libsPath || 'libs';
|
let libPath = options.libPath || 'lib';
|
||||||
let useUnminified = options.useUnminified || false;
|
let useUnminified = options.useUnminified || false;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
name: 'vite-plugin-cesium',
|
name: 'vite-plugin-earth',
|
||||||
config(config, { command }) {
|
config(config, { command }) {
|
||||||
isBuild = command === 'build';
|
isBuild = command === 'build';
|
||||||
base = config.base || '/';
|
base = config.base || '/';
|
||||||
|
@ -38,7 +36,7 @@ function vitePluginCesium(
|
||||||
},
|
},
|
||||||
configureServer({ middlewares }) {
|
configureServer({ middlewares }) {
|
||||||
middlewares.use(
|
middlewares.use(
|
||||||
`/${libsPath}/Cesium`,
|
`/${libPath}/Cesium`,
|
||||||
serveStatic(
|
serveStatic(
|
||||||
normalizePath(
|
normalizePath(
|
||||||
path.join(
|
path.join(
|
||||||
|
@ -53,24 +51,8 @@ function vitePluginCesium(
|
||||||
if (isBuild) {
|
if (isBuild) {
|
||||||
try {
|
try {
|
||||||
fs.copySync(
|
fs.copySync(
|
||||||
path.join(cesiumBuildPath, 'Cesium', 'Assets'),
|
path.join(cesiumBuildPath, 'Cesium'),
|
||||||
path.join(outDir, String(libsPath), 'Cesium', 'Assets')
|
path.join(outDir, String(libPath), 'Cesium')
|
||||||
);
|
|
||||||
fs.copySync(
|
|
||||||
path.join(cesiumBuildPath, 'Cesium', 'ThirdParty'),
|
|
||||||
path.join(outDir, String(libsPath), 'Cesium', 'ThirdParty')
|
|
||||||
);
|
|
||||||
fs.copySync(
|
|
||||||
path.join(cesiumBuildPath, 'Cesium', 'Widgets'),
|
|
||||||
path.join(outDir, String(libsPath), 'Cesium', 'Widgets')
|
|
||||||
);
|
|
||||||
fs.copySync(
|
|
||||||
path.join(cesiumBuildPath, 'Cesium', 'Workers'),
|
|
||||||
path.join(outDir, String(libsPath), 'Cesium', 'Workers')
|
|
||||||
);
|
|
||||||
fs.copySync(
|
|
||||||
path.join(cesiumBuildPath, 'Cesium', 'Cesium.js'),
|
|
||||||
path.join(outDir, String(libsPath), 'Cesium', 'Cesium.js')
|
|
||||||
);
|
);
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
}
|
}
|
||||||
|
@ -78,22 +60,22 @@ function vitePluginCesium(
|
||||||
|
|
||||||
transformIndexHtml() {
|
transformIndexHtml() {
|
||||||
let tags: HtmlTagDescriptor[] = [];
|
let tags: HtmlTagDescriptor[] = [];
|
||||||
tags.push({
|
|
||||||
tag: 'script',
|
|
||||||
attrs: {
|
|
||||||
src: normalizePath(
|
|
||||||
path.join(base, String(libsPath), 'Cesium', 'Cesium.js')
|
|
||||||
)
|
|
||||||
},
|
|
||||||
injectTo: 'head'
|
|
||||||
});
|
|
||||||
|
|
||||||
tags.push({
|
tags.push({
|
||||||
tag: 'link',
|
tag: 'link',
|
||||||
attrs: {
|
attrs: {
|
||||||
rel: 'stylesheet',
|
rel: 'stylesheet',
|
||||||
href: normalizePath(
|
href: normalizePath(
|
||||||
path.join(base, String(libsPath), 'Cesium', 'Widgets/widgets.css')
|
path.join(base, String(libPath), 'Cesium/Widgets/widgets.css')
|
||||||
|
)
|
||||||
|
},
|
||||||
|
injectTo: 'head'
|
||||||
|
});
|
||||||
|
tags.push({
|
||||||
|
tag: 'script',
|
||||||
|
attrs: {
|
||||||
|
src: normalizePath(
|
||||||
|
path.join(base, String(libPath), 'Cesium/Cesium.js')
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
injectTo: 'head'
|
injectTo: 'head'
|
||||||
|
@ -104,4 +86,4 @@ function vitePluginCesium(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default vitePluginCesium;
|
export default vitePluginEarth;
|
||||||
|
|
Loading…
Reference in New Issue