fix: CESIUM_BASE_URL
setting problem
This commit is contained in:
48
src/index.ts
48
src/index.ts
@@ -37,45 +37,45 @@ function vitePluginCesium(
|
|||||||
base = c.base;
|
base = c.base;
|
||||||
}
|
}
|
||||||
if (base === '') base = './';
|
if (base === '') base = './';
|
||||||
if (isBuild) CESIUM_BASE_URL = path.join(base, CESIUM_BASE_URL);
|
|
||||||
|
CESIUM_BASE_URL = path.posix.join(base, CESIUM_BASE_URL);
|
||||||
|
|
||||||
|
if (c.build?.outDir) {
|
||||||
|
outDir = c.build.outDir;
|
||||||
|
}
|
||||||
const userConfig: UserConfig = {
|
const userConfig: UserConfig = {
|
||||||
build: {
|
build: {
|
||||||
assetsInlineLimit: 0,
|
assetsInlineLimit: 0,
|
||||||
chunkSizeWarningLimit: 4000
|
chunkSizeWarningLimit: 4000
|
||||||
},
|
|
||||||
define: {
|
|
||||||
CESIUM_BASE_URL: JSON.stringify(CESIUM_BASE_URL)
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (!isBuild) {
|
if (!isBuild) {
|
||||||
userConfig.optimizeDeps = {
|
userConfig.optimizeDeps = {
|
||||||
exclude: ['cesium']
|
exclude: ['cesium']
|
||||||
};
|
};
|
||||||
}
|
userConfig.define = {
|
||||||
if (isBuild && !rebuildCesium) {
|
CESIUM_BASE_URL: JSON.stringify(CESIUM_BASE_URL)
|
||||||
userConfig.build!.rollupOptions = {
|
|
||||||
external: ['cesium'],
|
|
||||||
plugins: [externalGlobals({ cesium: 'Cesium' })]
|
|
||||||
};
|
};
|
||||||
|
} else {
|
||||||
|
userConfig.build = {
|
||||||
|
...userConfig.build,
|
||||||
|
rollupOptions: {
|
||||||
|
output: {
|
||||||
|
intro: `window.CESIUM_BASE_URL = "${CESIUM_BASE_URL}";`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (!rebuildCesium) {
|
||||||
|
userConfig.build!.rollupOptions = {
|
||||||
|
external: ['cesium'],
|
||||||
|
plugins: [externalGlobals({ cesium: 'Cesium' })]
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return userConfig;
|
return userConfig;
|
||||||
},
|
},
|
||||||
|
|
||||||
async load(id: string) {
|
|
||||||
if (!rebuildCesium) return null;
|
|
||||||
// replace CESIUM_BASE_URL variable in 'cesium/Source/Core/buildModuleUrl.js'
|
|
||||||
if (id.includes('buildModuleUrl')) {
|
|
||||||
let file = fs.readFileSync(id, { encoding: 'utf8' });
|
|
||||||
file = file.replace(
|
|
||||||
/CESIUM_BASE_URL/g,
|
|
||||||
JSON.stringify(CESIUM_BASE_URL)
|
|
||||||
);
|
|
||||||
return file;
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
},
|
|
||||||
|
|
||||||
configureServer({ middlewares }) {
|
configureServer({ middlewares }) {
|
||||||
const cesiumPath = path.join(
|
const cesiumPath = path.join(
|
||||||
cesiumBuildRootPath,
|
cesiumBuildRootPath,
|
||||||
|
Reference in New Issue
Block a user