Vue3 + ts + Cesium环境配置

安装好cesium后,配置vue.config.js

复制代码
const CopyWebpackPlugin = require("copy-webpack-plugin")
const webpack = require("webpack")
const path = require("path")

let cesiumSource = "./node_modules/cesium/Source"
let cesiumWorkers = "Workers"
module.exports = {
    configureWebpack: {
        resolve: {
            alias: {
                "@": path.resolve("src"),
            },
        },
        plugins: [
            new CopyWebpackPlugin([{
                from: path.join(cesiumSource, cesiumWorkers),
                to: "Workers"
            },]),
            new CopyWebpackPlugin([{
                from: path.join(cesiumSource, "Assets"),
                to: "Assets"
            },]),
            new CopyWebpackPlugin([{
                from: path.join(cesiumSource, "Widgets"),
                to: "Widgets"
            },]),
            new CopyWebpackPlugin([{
                from: path.join(cesiumSource, "ThirdParty/Workers"),
                to: "ThirdParty/Workers",
            },]),
            new webpack.DefinePlugin({
                CESIUM_BASE_URL: JSON.stringify("./"),
            }),
        ],
        module: {
            unknownContextCritical: false,
            unknownContextRegExp: /\/cesium\/cesium\/Source\/Core\/buildModuleUrl\.js/,
        },
    },
}
复制代码

创建一个cesium容器

复制代码
<template>
  <div id="cesiumContainer"></div>
</template>

<script setup lang='ts'>
import { onMounted } from "vue";
import * as Cesium from "cesium"
import "cesium/Build/Cesium/Widgets/widgets.css"

onMounted(()=>{
  const viewer = new Cesium.Viewer("cesiumContainer")
})
</script>

<style scoped>
  #cesiumContainer{
    width: 100%;
    height: 100%;
  }
</style>
复制代码

运行后会出现如下错误

Module parse failed: Unexpected token (6357:57)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|
| function getWorker(options = {}) {
> return new Worker(new URL(workerData.scripts[0], import.meta.url), options);
| }
|

需要安装loader

npm install @open-wc/webpack-import-meta-loader -d

 在vue.config.js文件module中添加:

rules: [
    {
        test: /\.js$/,
        use: {
            loader: '@open-wc/webpack-import-meta-loader',
        },
    },
]

解决

posted @   邢韬  阅读(1542)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示