创建electron+vue+cesium项目

文章详细介绍了如何在Vue项目中配置和使用cesium,包括通过vue-cli-plugins自动化安装和配置Cesium,处理Eslint的`no-undef`警告,以及安装和运行Electron应用。在Electron集成中,提到了需注释掉background.js中的特定代码以解决运行问题,并且指出了vue的electron插件对hash路由模式的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.搭建vue项目

vue create xxxx

二.配置cesium

vue结合cesium的方式很多,考虑到各种环境以及打包问题直接使用插件安装

直接使用vue-cli-plugins插件(简单粗暴

vue-cli-plugins:一个把cesium组件化的库,就像elementUI的用法一样。

1. 自动安装 Cesium 并追加至 package.json 依赖项(可自选版本)

2. 自动扩展 VueCLI 中 Cesium 相关的 webpack 配置

3. 添加一个 cesium 别名,以便我们在项目中轻松的引入 Cesium 文件资源

4. 使 Cesium 对象实例可在每个 Vue 模块中使用而无须 import 引入 使 webpack 可正常打包 Cesium

5. 允许 webpack 友好地在 Cesium 中使用 require,解决 require 引入警告

6. 开发环境生成 sourcemap,生产环境取消 sourcemap

7. 生产环境抽取公共模块执行压缩

8. 生产环境 loader 切换到优化模式

9. 自动在全局 main.js 中引入Widgets.css,可选

10. 自动在 components/ 文件夹下生成示例文件,可选*

vue add vue-cli-plugin-cesium

安装完成后使用 vue invoke 来初始化这个插件(可以不操作)

vue invoke vue-cli-plugin-cesium

安装过程三个询问

1.Please choose a version of 'cesium' from this list请在列表中选择 cesium 的版本

2.Whether to import styles globally. This operation will automatically import widgets.css in main.js是否全局引入样式,该操作将自动在main.js引入widgets.css?

3。Whether to add sample components to the project components directory是否添加示例组件到项目components目录?

安装完成运行程序

自动配置的组件,配置好token就ok,其他任何地方都不需要配置也不需要引用

!!!!!这里有坑 配置token的时候发现“cesium“is not definde

访问Cesium 对象时将不再需要 importrequire 引入,而一般我们在使用 VueCLI 创建项目时会默认带上 Eslint,Eslint 语法检验会认为 Cesium 是一个未声明的变量,于是抛出了错误

package.json 中配置 eslintConfig 里配置"no-undef": 0完美运行

三.安装Electron

vue add electron-builder

!!!!这里还有坑

  1. vue的electron插件只支持hash路由模式,才能运行桌面端应用

安装好插件后直接electron:serve运行

  1. 使用electron运行会报错或者加载很慢,直接在backgroun.js里注释掉这段代码

运行结果

打包直接electron:build

### 将使用了CesiumVue.js项目打包生成Android APK文件 为了将包含 CesiumVue.js 项目打包成 Android APK 文件,可以采用 vue-cli-plugin-electron-builder 插件来简化这一过程。然而,由于目标是创建移动应用程序而不是桌面应用程序,建议考虑使用 Cordova 或 Capacitor 来集成原生功能并处理打包流程。 #### 准备工作 首先安装必要的依赖项: ```bash npm install @capacitor/core @capacitor/cli --save npx cap init ``` 接着配置 `vue.config.js` 添加 Webpack 配置以支持 Cesium 资源加载[^1]: ```javascript module.exports = { configureWebpack: { resolve: { alias: { '@': path.resolve(__dirname, 'src') } }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: ['babel-loader'] }, // Add other loaders as needed... ] } } } ``` 对于 Cesium 特定设置,确保在项目的入口文件中引入 Cesium Ion Token 和初始化 Cesium Viewer: ```javascript import * as Cesium from 'cesium/Cesium' window.CESIUM_BASE_URL = '/Build/Cesium/' Cesium.Ion.defaultAccessToken = '<Your_Cesium_Ion_Token>' // Initialize viewer or scene here. ``` #### 创建 Android 应用程序 完成上述准备工作之后,通过 Capacitor 构建 Android 平台的支持: ```bash npx cap add android cd android && ./gradlew assembleDebug ``` 这将会编译出未签名的应用包 (APK),通常位于 `android/app/build/outputs/apk/debug/app-debug.apk`. #### 签名发布版 APK 生产环境中发布的 APK 必须经过数字签名验证安全性。遵循标准 Java Keystore 流程创建私钥存储库,并利用 Gradle Wrapper 执行签名操作[^2]。 编辑 `android/build.gradle` 中的相关部分指定 keystore 参数: ```groovy android { ... signingConfigs { release { keyAlias 'alias_name' keyPassword 'password' storeFile file('/path/to/my-release-key.keystore') storePassword 'store_password' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } } ``` 最后执行命令构建已签名版本: ```bash ./gradlew bundleRelease ``` 这样就完成了从开发环境到最终产品级 APK 文件的整个制作过程。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_63701303

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值