Compare commits
7 Commits
81e6e35051
...
v1.x
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b1a756f9a4 | ||
![]() |
175e381c5a | ||
![]() |
8512590602 | ||
![]() |
2e215f35a9 | ||
![]() |
dddac6cfba | ||
![]() |
1a0f2e4a42 | ||
![]() |
85e4c5548a |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest]
|
os: [ubuntu-latest]
|
||||||
node_version: ['14', '16']
|
node_version: ['16']
|
||||||
include:
|
include:
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
node_version: 16
|
node_version: 16
|
||||||
|
@@ -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:.."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vite-plugin-cesium",
|
"name": "vite-plugin-cesium",
|
||||||
"version": "1.2.22",
|
"version": "1.2.23",
|
||||||
"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",
|
||||||
|
25
src/index.ts
25
src/index.ts
@@ -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;
|
||||||
@@ -37,12 +42,8 @@ export default function vitePluginCesium(options: VitePluginCesiumOptions = {}):
|
|||||||
if (base === '') base = './';
|
if (base === '') base = './';
|
||||||
}
|
}
|
||||||
if (c.build?.outDir) {
|
if (c.build?.outDir) {
|
||||||
if (c.root !== undefined) {
|
|
||||||
outDir = path.join(c.root, c.build.outDir);
|
|
||||||
} else {
|
|
||||||
outDir = c.build.outDir;
|
outDir = c.build.outDir;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
CESIUM_BASE_URL = path.posix.join(base, CESIUM_BASE_URL);
|
CESIUM_BASE_URL = path.posix.join(base, CESIUM_BASE_URL);
|
||||||
const userConfig: UserConfig = {};
|
const userConfig: UserConfig = {};
|
||||||
if (!isBuild) {
|
if (!isBuild) {
|
||||||
@@ -59,7 +60,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 +89,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);
|
||||||
|
Reference in New Issue
Block a user