跳过主要内容
教程

Capacitor与Vue构建移动应用

了解如何使用Vue,Capacitor和可选地使用Konsta UI增强UI。

马丁·多纳迪厄

马丁·多纳迪厄

内容营销人员

Capacitor与Vue构建移动应用

In this tutorial, we’ll guide you through the process of converting a Vue web application into a native mobile app using Capacitor. Optionally, you can also enhance your mobile UI with Konsta UI, a Tailwind CSS-based mobile UI library.

关于Capacitor

Capacitor 是一个颠覆性的工具,它使您能够轻松将其集成到任何 Web 项目中,并将应用程序转换为原生移动应用。它为您生成原生 Xcode 和 Android Studio 项目,并通过 JavaScript 桥提供对原生设备功能(如相机)的访问。

为 Vue 应用程序做好准备

首先,通过运行以下命令创建一个新 Vue 应用程序:

vue create my-app
cd my-app
npm install

要为原生移动部署做好 Vue 应用程序的准备,您需要导出您的项目。将一个脚本添加到您的 package.json 文件中,用于构建和复制 Vue 项目:

{
  "scripts": {
    // ...
    "build": "vue-cli-service build"
  }
}

运行命令后,您应该在项目根目录中看到一个新的 build 文件夹。这个文件夹将由 __CAPGO_KEEP_0__ 后来使用。 dist 将 Capacitor 添加到您的 Vue 应用程序中

将 Capacitor 添加到您的 Vue 应用程序中

将您的 Vue 网页应用转换为原生移动容器,请遵循以下步骤:

  1. 安装 Capacitor CLI 作为开发依赖项,并在您的项目中设置它。接受名称和包 ID 的默认值。

  2. 安装核心包和 iOS 和 Android 平台的相关包。

  3. 添加平台,Capacitor 将在您的项目根目录创建每个平台的文件夹:

# Install the Capacitor CLI locally
npm install -D @capacitor/cli

# Initialize Capacitor in your Vue project
npx cap init

# Install the required packages
npm install @capacitor/core @capacitor/ios @capacitor/android

# Add the native platforms
npx cap add ios
npx cap add android

您现在应该看到新的 iOSandroid 文件夹在您的 Vue 项目中。

更新 capacitor.config.json 文件以指向 webDir 到构建命令的结果:

{
  "appId": "com.example.app",
  "appName": "my-app",
  "webDir": "dist"
}

现在,您可以构建您的Vue项目并同步它与Capacitor:

npm run build
npx cap sync

构建和部署原生应用

要开发iOS应用,您需要安装Xcode,并且要开发Android应用,您需要安装Android Studio。此外,您需要在Apple Developer Program中注册以便在iOS上发布应用,并在Google Play Console中注册以便在Android上发布应用以便在应用商店上发布应用。

使用Capacitor CLI打开两个原生项目:

npx cap open ios
npx cap open android

使用Android Studio或Xcode将应用部署到连接的设备上。

Capacitor实时重载

在移动设备上启用实时重载,通过让Capacitor应用从您的网络上的特定URL加载内容。

找到您的本地IP地址并更新 capacitor.config.ts 文件以正确的IP和端口:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
  appId: 'com.example.app',
  appName: 'my-app',
  webDir: 'dist',
  bundledWebRuntime: false,
  server: {
    url: 'http://192.168.x.xx:8080',
    cleartext: true
  }
};

export default config;

将这些更改复制到您的原生项目中:

npx cap copy

Now, your app will automatically reload and show changes when you update your Vue app.

使用 Capacitor 插件

安装一个 Capacitor 插件,例如分享插件,并在您的 Vue 应用程序中使用它:

npm i @capacitor/share

导入包并在应用程序中调用函数: share() 安装新插件后,运行命令并将应用程序重新部署到您的设备:

<template>
  <div>
    <h1>Welcome to Vue and Capacitor!</h1>
    <button @click="share">Share now!</button>
  </div>
</template>

<script setup lang="ts">
import { Share } from '@capacitor/share';

async function share() {
  await Share.share({
    title: 'Open Youtube',
    text: 'Check new video on youtube',
    url: 'https://www.youtube.com',
    dialogTitle: 'Share with friends'
  });
}
</script>

添加 Konsta UI sync 要在 Vue 应用程序中使用 Konsta UI,您需要先安装 Tailwind 并安装包: 要在 Vue 应用程序中使用 Konsta UI,请安装包并修改文件:

npx cap sync

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__ npx cap add __CAPGO_KEEP_0__ npx cap open __CAPGO_KEEP_0__ tailwind.config.js npx cap sync __CAPGO_KEEP_0__

npm i konsta

Wrap your app with the App component in the pages/_app.vue file, and use Konsta UI Vue components in your Vue pages.

结论

Capacitor 是一个基于现有 web 项目构建原生应用的很好的选择。通过添加 Capgo,您甚至可以更轻松地将实时更新添加到应用中,从而确保您的用户始终可以访问最新的功能和 bug 修复。

了解 Capgo 如何帮助您快速构建更好的应用, 注册免费账户 今天。

继续 Building Mobile Apps with Vue 和 Capacitor

如果您正在使用 Building Mobile Apps with Vue 和 Capacitor 来规划原生媒体和界面行为,连接它 使用 @capgo/capacitor-live-activities 为使用 @capgo/capacitor-live-activities 的原生能力 @capgo/capacitor-live-activities 为 @capgo/capacitor-live-activities 的实现细节 使用 @capgo/capacitor-video-player 为使用 @capgo/capacitor-video-player 的原生能力 @capgo/capacitor-video-player 为 @capgo/capacitor-video-player 的实现细节,以及 使用 @capgo/capacitor-native-navigation 为使用 @capgo/capacitor-native-navigation 的原生能力

实时更新Capacitor应用

当web层bug出现时,通过Capgo将修复推送给用户,而不是等待几天的应用商店审批。用户在后台接收更新,而原生代码的更改仍在正常审批路径中。

立即开始

最新博客

Capgo为您提供创建真正专业的移动应用所需的最佳见解。