메인 콘텐츠로 건너뛰기
[Tutorial]

Vue, Angular, React에서 Capacitor를 사용한 오프라인 화면 구현

Vue, Angular, 또는 React 애플리케이션에서 네트워크 API와 Capacitor를 사용하여 오프라인 화면을 구현하는 방법을 알아보세요. 사용자 경험을 향상시키기 위해 오프라인 시나리오를 효과적으로 처리하세요.

기사 기여자

마틴 도나디우

작가

발레리아

리뷰어

조던

편집자

Vue, Angular, React에서 Capacitor를 사용한 오프라인 화면 구현

Vue 3, Angular 14, 또는 React에서 오프라인 화면 만들기

이 튜토리얼에서 Vue 3, Angular 14, React 애플리케이션에서 오프라인 화면을 만들기 위해 네트워크 API를 사용하는 방법을 배웁니다. 네트워크 API는 네트워크 및 연결 정보를 제공하여 오프라인 시나리오를 처리하고 사용자 경험을 향상시킵니다. 더 깊은 연결 가능성 확인을 위해 단순 온라인/오프라인 플래그 이외의 경우 @capgo/capacitor-network-diagnostics 네트워크 code에서 네트워크 진단

준비 사항

시작하기 전에 다음을 설치하십시오:

프로젝트 설정

첫 번째로, 각 프레임워크의 respective scaffolding tool을 사용하여 새로운 프로젝트를 생성해 보세요.

Vue 3

터미널을 열고 다음 명령어를 실행하여 새로운 Vue 3 프로젝트를 생성하세요.

vue create offline-screen-vue3

기본 preset을 선택하고 프로젝트가 생성될 때까지 기다려 주세요.

Angular 14

터미널을 열고 다음 명령어를 실행하여 새로운 Angular 14 프로젝트를 생성하세요.

ng new offline-screen-angular14

안내를 따라 주시고 추가 기능에 대한 질문이 나올 때 "Routing"을 선택하여 스페이스바를 누르세요. 프로젝트가 생성될 때까지 기다려 주세요. React

터미널을 열고 다음 명령어를 실행하여 새로운 React 프로젝트를 생성하세요.

프로젝트가 생성될 때까지 기다려 주세요.

npx create-react-app offline-screen-react

spacebar

API 설치

이제, @capacitor/network 네트워크 API을 제공하는 패키지를 설치해 보겠습니다.

터미널을 열고 프로젝트 디렉토리로 이동한 후, 다음 명령어를 실행하여 패키지를 설치하세요.

npm install @capacitor/network

Capacitor 프로젝트의 경우, 다음 명령어를 실행하여 네이티브 프로젝트 파일을 동기화하세요.

npx cap sync

Capacitor CLI이 전역으로 설치되어 있는지 확인하세요.

npm install -g @capacitor/cli

__CAPGO_KEEP_0__

__CAPGO_KEEP_1__

오프라인 화면 구현

다음으로, 각 프레임워크에서 오프라인 화면 기능을 구현해 보겠습니다. 사용자가 오프라인 상태가 되었을 때, 간단한 메시지를 표시하겠습니다. src/main.js Vue 3 Network Vue 3 프로젝트에서 파일을 열고, 모듈을 import하세요. @capacitor/network:

import { createApp } from 'vue';
import { Network } from '@capacitor/network';

const app = createApp(App);

// Your application setup

app.mount('#app');

Network.addListener('networkStatusChange', status => {
  if (status.connected) {
    // User is back online
    // Hide the offline screen
    document.getElementById('offline-screen').style.display = 'none';
  } else {
    // User is offline
    // Display the offline screen
    document.getElementById('offline-screen').style.display = 'block';
  }
});

const logCurrentNetworkStatus = async () => {
  const status = await Network.getStatus();
  console.log('Network status:', status);
};

In 애플리케이션 템플릿 (App.vue)에 다음을 추가하세요: <div> <div id="offline-screen" > offline-screen 현재 오프라인 상태일 때 표시할 오프라인 화면 메시지를 표시합니다:

<template>
  <div id="app">
    <div id="offline-screen">
      <h1>You are offline</h1>
      <p>Please check your internet connection and try again.</p>
    </div>
    <!-- Your application content -->
  </div>
</template>

<style>
#offline-screen {
  display: none;
  text-align: center;
  padding: 20px;
  background-color: #f2f2f2;
}

#offline-screen h1 {
  font-size: 24px;
}

#offline-screen p {
  font-size: 16px;
}
</style>

사용자가 오프라인 상태가 되면 오프라인 화면이 표시되고, 사용자가 온라인 상태가 되면 오프라인 화면이 숨겨집니다.

Angular 14

Angular 14 프로젝트에서 src/app/app.component.ts 파일을 열고 Network 모듈을 import하세요: @capacitor/network:

import { Component } from '@angular/core';
import { Network } from '@capacitor/network';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  constructor() {
    Network.addListener('networkStatusChange', status => {
      if (status.connected) {
        // User is back online
        // Hide the offline screen
        document.getElementById('offline-screen').style.display = 'none';
      } else {
        // User is offline
        // Display the offline screen
        document.getElementById('offline-screen').style.display = 'block';
      }
    });
  }

  logCurrentNetworkStatus = async () => {
    const status = await Network.getStatus();
    console.log('Network status:', status);
  };

}

애플리케이션 템플릿 (app.component.html)에 다음을 추가하세요: <div> <div id="offline-screen" > offline-screen offline 화면 메시지를 표시하는 방법:

<div id="offline-screen">
  <h1>You are offline</h1>
  <p>Please check your internet connection and try again.</p>
</div>

<!-- Your application content -->

다음 스타일을 추가하세요: app.component.css 파일:

#offline-screen {
  display: none;
  text-align: center;
  padding: 20px;
  background-color: #f2f2f2;
}

#offline-screen h1 {
  font-size: 24px;
}

#offline-screen p {
  font-size: 16px;
}

현재 사용자가 오프라인 상태가 되면 오프라인 화면이 표시되고, 사용자가 온라인 상태가 되면 오프라인 화면이 숨겨집니다.

리액트

컨텍스트: Capgo 마케팅 웹사이트. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. Seen in: component FrameworkSelector.astro. Message key `framework_react` (Framework React). src/App.js 리액트 프로젝트에서 열려 있는 Network 파일을 열고 @capacitor/network:

import React, { useEffect } from 'react'
import { Network } from '@capacitor/network'

function App() {

  useEffect(() => {
    Network.addListener('networkStatusChange', (status) => {
      if (status.connected) {
        // User is back online
        // Hide the offline screen
        document.getElementById('offline-screen').style.display = 'none'
      }
      else {
        // User is offline
        // Display the offline screen
        document.getElementById('offline-screen').style.display = 'block'
      }
    })
  }, [])

  const logCurrentNetworkStatus = async () => {
    const status = await Network.getStatus()
    console.log('Network status:', status)
  }

  return (
    <div id="app">
      <div id='offline-screen'>
        <h1>You are offline</h1>
        <p>Please check your internet connection and try again.</p>
      </div>
      {/* Your application content */}
    </div>
  )

}

export default App

모듈을 import하세요. App.css 다음 스타일을 추가하세요:

#offline-screen {
  display: none;
  text-align: center;
  padding: 20px;
  background-color: #f2f2f2;
}

#offline-screen h1 {
  font-size: 24px;
}

#offline-screen p {
  font-size: 16px;
}

파일:

현재 사용자가 오프라인 상태가 되면 오프라인 화면이 표시되고, 사용자가 온라인 상태가 되면 오프라인 화면이 숨겨집니다.

네트워크 API은 네트워크 연결을 처리하는 데 도움이 되는 여러 메서드와 인터페이스를 제공합니다. 주요 기능은 다음과 같습니다:

Vue, Angular, React에서 오프라인 화면을 계속 진행하는 방법은 Capacitor입니다.

Vue, Angular, React에서 오프라인 화면을 계속 진행하는 방법은 __CAPGO_KEEP_0__입니다. Capacitor을 사용하여 네이티브 미디어 및 인터페이스 동작을 계획하고 Capacitor을 연결하세요. __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-live-activities를 사용하여 네이티브 기능을 연결합니다. capgo/capacitor-live-activities를 사용하여 네이티브 기능을 연결합니다. capgo/capacitor-live-activities를 사용하여 구현 세부 사항을 연결합니다. capgo/capacitor-live-activities를 사용하여 네이티브 기능을 연결합니다. capgo/capacitor-video-player를 사용하여 네이티브 기능을 연결합니다. Using @capgo/capacitor-video-player Capgo의 @capgo/capacitor-video-player를 사용하여 네이티브 기능을 사용하세요. @capgo/capacitor-video-player Capgo의 @capgo/capacitor-video-player를 사용하여 구현 세부 정보를 확인하세요. Capgo의 @capgo/capacitor-native-navigation를 사용하여 네이티브 기능을 사용하세요. Capgo의 @capgo/capacitor-native-navigation를 사용하여 네이티브 기능을 사용하세요.

Capacitor 앱에 대한 실시간 업데이트

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

웹层 버그가 실시간으로 활성화되면 __CAPGO_KEEP_0__를 통해修정을 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 마십시오. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반적인 검토 경로에 남아있습니다.

페이지/영역: Capgo 마케팅 웹사이트. 역할: 지원 설명 문구 또는 메타 설명 문구. 표시: 컴포넌트 GetStarted.astro. Capgo 제품/브랜드 및 개발자 용어를 정확하게 유지하십시오. 메시지 키 `instant_updates_for_capacitor_apps_description` (Capacitor 앱에 대한 실시간 업데이트 설명)

마틴의 인간 지원

Capgo gives you the best insights you need to create a truly professional mobile app.