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

electron与cesium组件入门应用功能

electron与cesium组件入门应用功能

运行应用效果图:
在这里插入图片描述
在这里插入图片描述

electron应用目录,需要包括三个文件:
index.html
main.js
package.json

(一)、创建一个新项目
目录名称:project_helloWolrd

(二)、生成package.json文件

npm init --yes

(三)、运行该项目方法一
在终端cmd输入如下命令:

electron .

(四)、运行该项目方法二
#==========================================
#start cli cammand
全局安装

cnpm install -g electron @electron-forge/cli

#build cli electron-builder
打exe安装包我们使用electron-builder工具包,安装命令如下。
全局安装

cnpm install -g electron-builder

开始/打包生成exe文件

npm run start
npm run build

#==========================================
注意,json文件不能带注释,复制上面的文本后记得注释去掉。
修改package.json,添加一条scripts命令和build配置。

 "scripts": {"start": "electron-forge start","build": "electron-builder --win" // 打包命令},"devDependencies": {"@electron-forge/cli": "^6.2.1","electron": "^25.4.0","electron-builder": "^24.6.3"},"dependencies": {"cesium": "^1.112.0","@electron-forge/cli": "^6.2.1"},// `electron-builder`配置"build": {"productName": "我的应用", // 安装应用后桌面名称"directories": {"output": "out" // 输出的文件目录},"win": {"icon": "./ico/logo.ico", // 安装的图标"target": [{"target": "nsis","arch": ["x64","ia32"]}]},"nsis": {"oneClick": false,"allowElevation": true,"allowToChangeInstallationDirectory": true,"installerIcon": "./ico/logo.ico","uninstallerIcon": "./ico/logo.ico","installerHeaderIcon": "./ico/logo.ico","createDesktopShortcut": true,"createStartMenuShortcut": true,"shortcutName": "我的应用"}}

#==========================================
#如果报错,可以采用node_modules目录删除,重新下载依赖包

cnpm install

#cesium安装cmd命令: //OK

cnpm install cesium --save

(五)、源代码
main.js主程序文件内容:

const { app,BrowserWindow}=require("electron");
const path=require("path");const createWindow=()=>{const mainWindow=new BrowserWindow({width:600,height:400,});mainWindow.loadFile(path.join(__dirname,'indexCesium.html'));    //index.html  indexCesium.html////mainWindow.loadURL("https://gitee.com");//mainWindow.loadURL("https://blog.csdn.net/hsg77");
}//监听应用启动事件
app.on("ready",createWindow);

indexCesium.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"><title>My Cesium App</title><script src="./node_modules/cesium/Build/Cesium/Cesium.js"></script><style>@import url(./node_modules/cesium/Build/Cesium/Widgets/widgets.css);html,body,#cesiumContainer {height: 100%;margin: 0;padding: 0;overflow: hidden;}</style>
</head><body><div id="cesiumContainer"></div><script>var viewer = new Cesium.Viewer('cesiumContainer', {imageryProvider: new Cesium.TileMapServiceImageryProvider({url: Cesium.buildModuleUrl("Assets/Textures/NaturalEarthII"),})});</script>
</body></html>

index.html

<html><head><meta charset="UTF-8"><title>electron Helloworld</title><link ref="stylesheet" href="css/base.css"/></head><body><h1>这是一个electron项目</h1><h2>这是一个electron项目</h2><h3>这是一个electron项目</h3><h4>这是一个electron项目</h4><h5>这是一个electron项目</h5></body>
</html>

css/base.css

h1 {color:blue;}h2 {color:red;}

package.json文件内容:

{"name": "project_helloworld","version": "1.0.0","description": "生成package.json文件:\r npm init --yes","main": "main.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","dev": "electron-forge start","start": "electron-forge start","build": "electron-builder --win"},"keywords": [],"author": "","license": "ISC","devDependencies": {"@electron-forge/cli": "^6.2.1","electron": "^25.4.0","electron-builder": "^24.6.3"},"dependencies": {"cesium": "^1.112.0","@electron-forge/cli": "^6.2.1"},"build": {"productName": "我的应用","directories": {"output": "out"},"win": {"icon": "./ico/logo.ico","target": [{"target": "nsis","arch": ["x64","ia32"]}]},"nsis": {"oneClick": false,"allowElevation": true,"allowToChangeInstallationDirectory": true,"installerIcon": "./ico/logo.ico","uninstallerIcon": "./ico/logo.ico","installerHeaderIcon": "./ico/logo.ico","createDesktopShortcut": true,"createStartMenuShortcut": true,"shortcutName": "我的应用"}}
}

本blog地址:https://blog.csdn.net/hsg77

http://www.lryc.cn/news/263461.html

相关文章:

  • Jenkins Docker Cloud在Linux应用开发CI中的实践
  • 502 Bad Gateway with nginx + apache + subversion + ssl
  • 【PostgreSQL内核学习(十八)—— 存储管理(存储管理的体系结构)】
  • Android的组件、布局学习
  • 【离散数学】——期末刷题题库(树其一)
  • 光模块市场分析与发展趋势预测
  • Python轴承故障诊断 (八)基于EMD-CNN-GRU并行模型的故障分类
  • 鸿蒙实现年月日十分选择框,支持年月日、月日、日、年月日时分、时分切换
  • IntelliJ IDE 插件开发 | (三)消息通知与事件监听
  • VUE小知识点
  • 深入了解常见的应用层网络协议
  • 网络爬虫 多任务采集
  • 真实并发编程问题-1.钉钉面试题
  • 基于vue+element-plus+echarts制作动态绘图页面(柱状图,饼图和折线图)
  • 2312llvm,02前端
  • 【MATLAB源码-第101期】基于matlab的蝙蝠优化算BA)机器人栅格路径规划,输出做短路径图和适应度曲线。
  • 【数据结构】二叉树的模拟实现
  • open3d bug:pcd转txt前后位姿发生改变
  • 持续集成交付CICD:Jenkins使用GitLab共享库实现基于Ansible的CD流水线部署前后端应用
  • OpenAI 疑似正在进行 GPT-4.5 灰度测试!
  • DC-6靶场
  • 单片机应用实例:LED显示电脑电子钟
  • 会议剪影 | 思腾合力受邀出席首届CCF数字医学学术年会
  • node.js mongoose中间件(middleware)
  • [Toolschain cpp ros cmakelist python vscode] 记录写每次项目重复的设置和配置 不断更新
  • 【每日OJ—有效的括号(栈)】
  • .gitignore和git lfs学习
  • 2023-12-18 C语言实现一个最简陋的B-Tree
  • vite与webpack?
  • 距离矩阵路径优化Python Dijkstra(迪杰斯特拉)算法和冲突驱动子句学习