1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

Merge pull request #55 from rot1024/main

add cesiumBaseUrl option
This commit is contained in:
Xin Chen
2024-08-07 00:59:00 +08:00
committed by GitHub
2 changed files with 15 additions and 10 deletions

View File

@@ -9,8 +9,8 @@
"serve": "vite build && vite preview" "serve": "vite build && vite preview"
}, },
"devDependencies": { "devDependencies": {
"cesium": "^1.96.0", "cesium": "1.96.0",
"vite": "^3.0.4", "vite": "3.0.4",
"vite-plugin-cesium": "link:.." "vite-plugin-cesium": "link:.."
} }
} }

View File

@@ -12,6 +12,7 @@ interface VitePluginCesiumOptions {
devMinifyCesium?: boolean; devMinifyCesium?: boolean;
cesiumBuildRootPath?: string; cesiumBuildRootPath?: string;
cesiumBuildPath?: string; cesiumBuildPath?: string;
cesiumBaseUrl?: string;
} }
export default function vitePluginCesium(options: VitePluginCesiumOptions = {}): Plugin { export default function vitePluginCesium(options: VitePluginCesiumOptions = {}): Plugin {
@@ -19,10 +20,14 @@ export default function vitePluginCesium(options: VitePluginCesiumOptions = {}):
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/'
} = options; } = options;
let CESIUM_BASE_URL = 'cesium/'; let CESIUM_BASE_URL = cesiumBaseUrl;
if (!CESIUM_BASE_URL.endsWith('/')) {
CESIUM_BASE_URL += '/';
}
let outDir = 'dist'; let outDir = 'dist';
let base: string = '/'; let base: string = '/';
let isBuild: boolean = false; let isBuild: boolean = false;
@@ -59,7 +64,7 @@ export default function vitePluginCesium(options: VitePluginCesiumOptions = {}):
chunkSizeWarningLimit: 5000, chunkSizeWarningLimit: 5000,
rollupOptions: { rollupOptions: {
output: { output: {
intro: `window.CESIUM_BASE_URL = "${CESIUM_BASE_URL}";` intro: `window.CESIUM_BASE_URL = ${JSON.stringify(CESIUM_BASE_URL)};`
} }
} }
}; };
@@ -88,12 +93,12 @@ export default function vitePluginCesium(options: VitePluginCesiumOptions = {}):
async closeBundle() { async closeBundle() {
if (isBuild) { if (isBuild) {
try { try {
await fs.copy(path.join(cesiumBuildPath, 'Assets'), path.join(outDir, 'cesium/Assets')); await fs.copy(path.join(cesiumBuildPath, 'Assets'), path.join(outDir, CESIUM_BASE_URL, 'Assets'));
await fs.copy(path.join(cesiumBuildPath, 'ThirdParty'), path.join(outDir, 'cesium/ThirdParty')); await fs.copy(path.join(cesiumBuildPath, 'ThirdParty'), path.join(outDir, CESIUM_BASE_URL, 'ThirdParty'));
await fs.copy(path.join(cesiumBuildPath, 'Workers'), path.join(outDir, 'cesium/Workers')); await fs.copy(path.join(cesiumBuildPath, 'Workers'), path.join(outDir, CESIUM_BASE_URL, 'Workers'));
await fs.copy(path.join(cesiumBuildPath, 'Widgets'), path.join(outDir, 'cesium/Widgets')); await fs.copy(path.join(cesiumBuildPath, 'Widgets'), path.join(outDir, CESIUM_BASE_URL, 'Widgets'));
if (!rebuildCesium) { if (!rebuildCesium) {
await fs.copy(path.join(cesiumBuildPath, 'Cesium.js'), path.join(outDir, 'cesium/Cesium.js')); await fs.copy(path.join(cesiumBuildPath, 'Cesium.js'), path.join(outDir, CESIUM_BASE_URL, 'Cesium.js'));
} }
} catch (err) { } catch (err) {
console.error('copy failed', err); console.error('copy failed', err);