cordova打包Vue项目 - 两种打包方式

本地启动cordova 项目

本地创建cordova项目

将项目代码通过 npm build 打包项目代码 生成dist 文件

将dist文件下 css、js 等文件复制到cordova项目 www 文件下面

通过 cordova build android 打包一个安卓的apk 文件

安装安卓虚拟机

手动将apk 文件拖入 虚拟机中

打开 hello cordova软件

项目成功启动

远程所需要准备的。

node 搭建本地的一个服务 server , 模拟服务。

server下的public文件夹内 存放需要运行得apk 文件

通过 npm start 启动服务

重新打开控制台,可通过ip config指令 找到本地IP

通过cordova项目本地打包的apk文件
浏览器apk的下载地址: ip + 端口号 + apk名。
eg: 100.200.149.193:3000/app-debug.apk

www/js/index.js 文件
onDeviceReady: function(){} 这是项目运行的生命周期
方法1 :window.location.href = ‘http://10.200.149.193:8080/’ 指向本地项目启动的ip

方法2:在config.xml 内配置

注:

以上两种方法启动项目的配置 将
改成
改变路由的指向, 当路由的指向被改变之后 页面执行方法 将执行项目内的代码 为不是执行 onDeviceReady: function(){}。
项目内测试运行的的代码:

document.addEventListener('deviceready', function () {
  var versionCode = AppVersion.build
  alert(versionCode)  // 302048


}, false);

调用插件 的api 可在此方法内使用,页面调试也可在此方法内使用

文件夹路径:ime-mobile-latest-app\config.xml
文件夹路径:ime-mobile-latest-app\platforms\android\app\src\main\AndroidManifest.xml

AndroidManifest.xml 文件夹内暴露了部分属性可在config.xml文件夹内配置
通过cordova build android 打包后 会在AndroidManifest.xml实时生效

Android 硬件调用

AndroidManifest.xml 文件下方配置
eg<uses-permission android:name="android.permission.CAMERA" />

硬件配置需要在AndroidManifest.xml 文件夹内增加上面一行代码配置, 在项目启动的时候会有相机 等硬件允许使用的提示。

cordova 插件调用

cordova 其实只是一个壳, 所有的插件使用都需要通过 cordova platform add plugin name 添加才能使用

项目代码内使用api插件即可调用。

例如版本号对比:

将本地版本号与服务器版本号做对比 。
版本号的更改在config.js

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以尝试使用以下步骤来实现在 Cordova 环境下打包 Vue 项目并调用拍照功能: 1. 在 Cordova 项目根目录下执行以下命令安装 Cordova 插件 Camera: ``` cordova plugin add cordova-plugin-camera ``` 2. 在 Vue 项目中安装 Cordova 插件 Camera 的 TypeScript 类型: ``` npm install --save-dev @types/cordova-plugin-camera ``` 3. 在 Vue 项目的入口文件 main.ts 中添加以下代码: ``` declare var navigator: any; const app = createApp(App); app.config.globalProperties.$takePicture = () => { return new Promise((resolve, reject) => { navigator.camera.getPicture((imageData: string) => { resolve(`data:image/jpeg;base64,${imageData}`); }, (error: any) => { reject(error); }, { quality: 50, destinationType: navigator.camera.DestinationType.DATA_URL }); }); }; app.mount('#app'); ``` 上述代码会将 Cordova 的 Camera 插件添加到 Vue 的全局属性中,以便在 Vue 组件中调用。 4. 在 Vue 组件中调用 `$takePicture` 方法: ``` <template> <div> <button @click="takePicture">Take Picture</button> <img :src="image" v-if="image" /> </div> </template> <script lang="ts"> import { defineComponent, ref } from 'vue'; export default defineComponent({ setup() { const image = ref(''); const takePicture = async () => { try { const imageData = await (window as any).$takePicture(); image.value = imageData; } catch (error) { console.error(error); } }; return { image, takePicture, }; }, }); </script> ``` 上述代码会在 Vue 组件中定义 `$takePicture` 方法的调用,在用户点击“Take Picture”按钮时调用该方法。调用成功后,图片的 base64 编码会被设置到 Vue 组件的 `image` 变量中,并渲染到页面上。 以上是一个简单的实现,在实际开发中你可能需要进行更多的配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值