For anyone coming back to this issue, I solved it by doing the following in my vite config. I am using sveltekit w/vite for context.
// vite.config.ts
import { defineConfig } from "vite";
import { sveltekit } from "@sveltejs/kit/vite";
import { viteStaticCopy } from 'vite-plugin-static-copy'
import path from 'path';
// cesium bundling assistance
const cesiumSource = "node_modules/cesium/Build/Cesium";
const cesiumBaseUrl = "cesiumStatic";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
sveltekit(),
viteStaticCopy({
targets: [
{ src: `${cesiumSource}/ThirdParty`, dest: cesiumBaseUrl },
{ src: `${cesiumSource}/Workers`, dest: cesiumBaseUrl },
{ src: `${cesiumSource}/Assets`, dest: cesiumBaseUrl },
{ src: `${cesiumSource}/Widgets`, dest: cesiumBaseUrl },
],
}),
],
define: {
// required for cesium to know where its assets are in the final bundle
CESIUM_BASE_URL: JSON.stringify(cesiumBaseUrl),
},
...