t32-cesium-bundle-loader.mjs 657 B

12345678910
  1. import { createRequire } from 'node:module'
  2. const require=createRequire(import.meta.url)
  3. const entry=require.resolve('cesium')
  4. const cesium=require('cesium')
  5. const names=Object.keys(cesium).filter(name=>/^[A-Za-z_$][\w$]*$/.test(name))
  6. const code=`import { createRequire } from 'node:module'; const c=createRequire(${JSON.stringify(import.meta.url)})(${JSON.stringify(entry)});\n`+names.map(name=>`export const ${name}=c.${name};`).join('\n')
  7. export async function resolve(specifier,context,nextResolve){
  8. if(specifier==='cesium')return {url:'data:text/javascript,'+encodeURIComponent(code),shortCircuit:true}
  9. return nextResolve(specifier,context)
  10. }