First and formost , Thanks for you answer me detailly. But sadly, It is shows only one version that I use.
Secondly, I use the way No. 1 that you mentioned , I check the version use the pnpm list cesium --depth=10 what it shows like this β Only one version of Cesium in my project.
terjin/components link:packages/components
βββ¬ @cesium-extends/measure 1.1.4
β βββ¬ @cesium-extends/drawer 1.3.8
β β βββ¬ @cesium-extends/common 1.0.2
β β β βββ cesium 1.136.0 peer
β β βββ¬ @cesium-extends/subscriber 1.1.1
β β β βββ cesium 1.136.0 peer
β β βββ¬ @cesium-extends/tooltip 1.2.3
β β β βββ¬ @cesium-extends/common 1.0.2
β β β β βββ cesium 1.136.0 peer
β β β βββ cesium 1.136.0 peer
β β βββ cesium 1.136.0 peer
β βββ¬ @cesium-extends/subscriber 1.1.1
β β βββ cesium 1.136.0 peer
β βββ¬ @cesium-extends/tooltip 1.2.3
β β βββ¬ @cesium-extends/common 1.0.2
β β β βββ cesium 1.136.0 peer
β β βββ cesium 1.136.0 peer
β βββ cesium 1.136.0 peer
βββ¬ @cesium-extends/subscriber 1.1.1
βββ cesium 1.136.0 peer
devDependencies:
@cesium-extends/measure 1.1.4
βββ¬ @cesium-extends/drawer 1.3.8
β βββ¬ @cesium-extends/common 1.0.2
β β βββ cesium 1.136.0 peer
β βββ¬ @cesium-extends/subscriber 1.1.1
β β βββ cesium 1.136.0 peer
β βββ¬ @cesium-extends/tooltip 1.2.3
β β βββ¬ @cesium-extends/common 1.0.2
β β β βββ cesium 1.136.0 peer
β β βββ cesium 1.136.0 peer
β βββ cesium 1.136.0 peer
βββ¬ @cesium-extends/subscriber 1.1.1
β βββ cesium 1.136.0 peer
βββ¬ @cesium-extends/tooltip 1.2.3
β βββ¬ @cesium-extends/common 1.0.2
β β βββ cesium 1.136.0 peer
β βββ cesium 1.136.0 peer
βββ cesium 1.136.0 peer
@cesium-extends/subscriber 1.1.1
βββ cesium 1.136.0 peer
@cesium-extends/tooltip 1.2.3
βββ¬ @cesium-extends/common 1.0.2
β βββ cesium 1.136.0 peer
βββ cesium 1.136.0 peer
cesium 1.136.0
This is my way to use the cesium assets in the vite.config.ts οΌ a Vue3 config file like some config file in React projectοΌfile. It has same effect when I use window.CESIUM_BASE_URL = 'libs/Cesium/' instead of coping to the libs folder in vite.config.ts config file .
const cesiumSource = '../node_modules/cesium/Build/Cesium'
// This is the base url for static files that CesiumJS needs to load.
// Set to an empty string to place the files at the site's root path
const cesiumBaseUrl = 'cesiumStatic'
// https://vite.dev/config/
export default defineConfig({
define: {
// Define relative base path in cesium for loading assets
// https://vitejs.dev/config/shared-options.html#define
CESIUM_BASE_URL: JSON.stringify(`/${cesiumBaseUrl}`),
},
plugins: [
tailwindcss(),
vue(),
vueJsx(),
// vueDevTools(),
// Copy Cesium Assets, Widgets, and Workers to a static directory.
// If you need to add your own static files to your project, use the `public` directory
// and other options listed here: https://vitejs.dev/guide/assets.html#the-public-directory
viteStaticCopy({
targets: [
{ src: `${cesiumSource}/ThirdParty`, dest: cesiumBaseUrl },
{ src: `${cesiumSource}/Workers`, dest: cesiumBaseUrl },
{ src: `${cesiumSource}/Assets`, dest: cesiumBaseUrl },
{ src: `${cesiumSource}/Widgets`, dest: cesiumBaseUrl },
],
}),
],
assetsInclude: ['**/*.gltf', '**/*.glb'],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
server: {
host: true,
allowedHosts: ['pc-local.xxx.com'],
hmr: {
overlay: true,
clientPort: 5173,
},
},
})
I check my project that only use import method ,I donβt use <script> tag in the index.html.