当前位置: 首页 > news >正文

vue引用cesium,解决“Not allowed to load local resource”报错

vue引用cesium,解决“Not allowed to load local resource”报错@TOC

工具 vscode

  1. node :v22.14.0
  2. npm :10.9.2
  3. vue:@vue/cli 5.0.8

一、创建一个 Vue 3 项目

1.创建名为cesium_test的项目:

vue create cesium_test

2.选择默认的 Vue 3

二、安装 Cesium 包

npm install cesium --save

三、修改配置文件

打开 vue.config.js 文件,修改为如下内容(前期因为此文件未配置正确,造成“Not allowed to load local resource”错误):

const CopyWebpackPlugin = require('copy-webpack-plugin');
const path = require('path');
const webpack = require('webpack');
// CesiumJS源代码的路径
const cesiumSource = 'node_modules/cesium/Source';
const cesiumWorkers = '../Build/Cesium/Workers';const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({transpileDependencies: true,configureWebpack: {output: {sourcePrefix: ''},resolve: {fallback: { "https": false, "zlib": false, "http": false, "url": false },},plugins: [// 复制Cesium的Assets、Widgets和Workers到一个静态目录new CopyWebpackPlugin({patterns: [{ from: path.join(cesiumSource, cesiumWorkers), to: 'Workers' },{ from: path.join(cesiumSource, 'Assets'), to: 'Assets' },{ from: path.join(cesiumSource, 'Widgets'), to: 'Widgets' },{ from: path.join(cesiumSource, 'ThirdParty'), to: 'ThirdParty' }]}),new webpack.DefinePlugin({//在Cesium中定义一个相对基本路径来加载资源CESIUM_BASE_URL: JSON.stringify('')})],}
})

四、修改public/index.html文件

<!DOCTYPE html>
<html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title><%= htmlWebpackPlugin.options.title %></title><link rel="stylesheet" href="./Cesium/Widgets/widgets.css"><script type="text/javascript" src="./Cesium/Cesium.js"></script><!--<link rel="stylesheet" href="node_modules/cesium/Build/Cesium/Widgets/widgets.css"><script type="text/javascript" src="node_modules/cesium/Build/Cesium/Cesium.js"></script>--></head><body><noscript><strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><!-- built files will be auto injected --></body>
</html>

五、修改HelloWorld.vue文件

<template><div id="cesiumContainer" style="height: 100%;"></div>
</template><script>
import * as Cesium from "cesium"export default {name: "HomeView",mounted() { this.viewer = new Cesium.Viewer("cesiumContainer", {homeButton: false,sceneModePicker: false,baseLayerPicker: false, // 影像切换animation: true, // 是否显示动画控件infoBox: false, // 是否显示点击要素之后显示的信息selectionIndicator: false, // 要素选中框geocoder: false, // 是否显示地名查找控件timeline: true, // 是否显示时间线控件fullscreenButton: false,shouldAnimate: false,navigationHelpButton: false, // 是否显示帮助信息控件});  },};
</script><style scoped>#cesiumContainer {width: 100%;height: 100%;background-color: black;}
</style>

运行效果

在这里插入图片描述

http://www.xdnf.cn/news/502957.html

相关文章:

  • 调用DeepSeek系列模型问答时,输出只有</think>标签,而没有<think>标签
  • 无人机视角垃圾检测数据集VOC+YOLO格式771张1类别
  • 使用Maven和Ant上传文件到Linux服务器
  • 交流学习 | 江西同为科技有限公司赴海尔总部考察交流
  • Vue3学习(组合式API——父、子组件间通信详解)
  • 大模型之RAG知识库
  • 实验三:计划任务和时钟同步
  • 经典算法 求C(N, K) % mod,保证mod是质数
  • 打造文本差异对比工具 TextDiffX:从想法到实现的完整过程
  • 嵌入式软件的分层架构
  • GitHub 趋势日报 (2025年05月16日)
  • H3C UIS 超融合管理平台原理解读以及日常运维实操与故障处理
  • Transformer 架构在目标检测中的应用:YOLO 系列模型解析
  • 便捷的批量打印工具推荐
  • PyQt5基本窗口控件(QSlider(滑动条))
  • 【计网】 ARP地址解析协议 [工作过程]
  • hyper-v 虚拟机怎么克隆一台一样的虚拟机?
  • NHANES指标推荐:FMI
  • 【Linux笔记】——Linux线程控制创建、终止与等待|动态库与内核联动
  • 软件测试的常用的面试题【带答案】
  • 【汇总】影视仓接口地址,影视仓最新配置接口【2025.5】
  • 常见图算法解析:TSP问题、最大团/独立集问题、图着色问题、哈密尔顿回路问题、顶点覆盖问题和最长路径问题
  • Ocean: Object-aware Anchor-free Tracking
  • 中级网络工程师知识点4
  • 【文本切割器】RecursiveCharacterTextSplitter参数设置优化指南
  • ORACLE RAC环境REDO日志量突然增加的分析
  • 【以及好久没上号的闲聊】Unity记录8.1-地图-重构与优化
  • SQL Server 常用函数
  • QT使用QXlsx读取excel表格中的图片
  • 【自然语言处理与大模型】大模型(LLM)基础知识④