Cómo Crear una Pantalla de Offline en Vue 3, Angular 14 o React
En este tutorial, aprenderemos a crear una pantalla de offline en aplicaciones de Vue 3, Angular 14 y React utilizando la red API. La red API proporciona información de red y conectividad, lo que nos permite manejar escenarios de offline y brindar una mejor experiencia del usuario.
Requisitos previos
Antes de comenzar, asegúrese de tener instalados los siguientes:
- Node.js (versión 14 o superior)
- Vue CLI
- Angular CLI
- Create React App
Configuración del Proyecto
Primero, creemos un nuevo proyecto utilizando la herramienta de armado correspondiente para cada marco de trabajo.
Vue 3
Abra su terminal y ejecute el siguiente comando para crear un nuevo proyecto de Vue 3:
vue create offline-screen-vue3
Elige el preset predeterminado y espera a que el proyecto se cree.
Angular 14
Abra su terminal y ejecute el siguiente comando para crear un nuevo proyecto de Angular 14:
ng new offline-screen-angular14
Sigue las instrucciones, y cuando se te pregunte sobre características adicionales, selecciona “Ruteo” presionando la tecla de espacio. Espera a que se cree el proyecto. React
Abre tu terminal y ejecuta el siguiente comando para crear un nuevo proyecto de React:
Espera a que se cree el proyecto.
npx create-react-app offline-screen-react
Instalando la red __CAPGO_KEEP_0__
Installing the Network API
paquete, que proporciona la red __CAPGO_KEEP_0__. @capacitor/network package, which provides the Network API.
Para proyectos __CAPGO_KEEP_0__, también ejecuta el siguiente comando para sincronizar los archivos del proyecto nativo:
npm install @capacitor/network
Asegúrate de tener instalado globalmente el Capacitor __CAPGO_KEEP_1__ ejecutando:
npx cap sync
Asegúrate de tener instalado globalmente el Capacitor CLI ejecutando:
npm install -g @capacitor/cli
Implementando la pantalla de desconexión
A continuación, implementaremos la funcionalidad de pantalla de desconexión en cada marco de trabajo. Mostraremos un mensaje simple cuando el usuario se desconecte.
Vue 3
En tu proyecto de Vue 3, abre el src/main.js __CAPGO_KEEP_0__ Network y importa el @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);
};
módulo desdeApp.vueEn tu plantilla de aplicación ( <div> ), agrega un offline-screen elemento con un id de
<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>
para mostrar el mensaje de pantalla de desconexión:
Ahora, cuando el usuario se desconecta, se mostrará la pantalla de desconexión. Cuando el usuario vuelva a conectarse, la pantalla de desconexión se ocultará.
En su proyecto de Angular 14, abra el archivo src/app/app.component.ts y importe el módulo de Network En su plantilla de aplicación ( @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);
};
}
), agregue un elemento con un id de app.component.htmlpara mostrar el mensaje de pantalla de offline: <div> Agregue los siguientes estilos al archivo offline-screen Ahora, cuando el usuario se desconecte, se mostrará la pantalla de offline. Cuando el usuario vuelva a conectarse, la pantalla de offline se ocultará.
<div id="offline-screen">
<h1>You are offline</h1>
<p>Please check your internet connection and try again.</p>
</div>
<!-- Your application content -->
React app.component.css En su proyecto de React, abra el archivo
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
module from __CAPGO_KEEP_0__
element with an id of __CAPGO_KEEP_1__ to display the offline screen message:
Add the following styles to the __CAPGO_KEEP_2__ file: src/App.js archivo y importe el Network módulo desde @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
Agregar los siguientes estilos al App.css archivo:
#offline-screen {
display: none;
text-align: center;
padding: 20px;
background-color: #f2f2f2;
}
#offline-screen h1 {
font-size: 24px;
}
#offline-screen p {
font-size: 16px;
}
Ahora, cuando el usuario se desconecta, se mostrará la pantalla de desconexión. Cuando el usuario vuelva a conectarse, la pantalla de desconexión se ocultará.
Métodos y Interfaces de Apoyo
La red API proporciona varios métodos e interfaces para ayudarlo a manejar la conexión de red. Aquí hay algunos de los principales:
getStatus(): Consultar el estado actual de la conexión de red.addListener('networkStatusChange', ...): Escuchar cambios en la conexión de red.