使用 PWA 构建现代、可安装的 Web 应用:终极指南
什么是渐进式 Web 应用程序?
渐进式 Web 应用 (PWA) 是一种使用标准 Web 技术(如 HTML、CSS 和 JavaScript)构建的应用,但具有原生应用的功能。PWA 结合了 Web 应用的可访问性以及通常与移动应用相关的功能,例如离线支持、推送通知和直接从浏览器安装。PWA 的主要目标是:
使用 Vite React App 创建 PWA
要使用 Vite 和 React 创建渐进式 Web 应用 (PWA),您需要使用 Vite 更快的构建流程以及 PWA 插件来处理服务工作线程和缓存。以下是分步指南:
1. 使用 Vite 设置 React 项目
首先,使用 React 创建一个新的 Vite 项目:
npm create vite@latest my-app --template react cd my-app npm install
2. 安装 Vite PWA 插件:
接下来,安装 vite-plugin-pwa,它可以简化添加 PWA 功能(如服务工作线程和 Web 应用清单)的过程:
npm install vite-plugin-pwa
3.配置 Vite PWA 插件
在 vite.config.js 文件中,导入并配置 PWA 插件。添加以下内容:
// vite.config.js
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { VitePWA } from "vite-plugin-pwa";
export default defineConfig({
plugins: [
react(),
VitePWA({
registerType: "autoUpdate",
includeAssets: ["favicon.svg", "robots.txt", "apple-touch-icon.png"],
manifest: {
name: "YOUR APP NAME",
short_name: "YOUR NAME",
description: "SHORT DESC",
theme_color: "#ffffff",
background_color: "#ffffff",
display: "standalone",
start_url: "/",
icons: [
{
src: "/icon-192x192.png",
sizes: "192x192",
type: "image/png",
purpose: "any"
},
{
src: "/icon-512x512.png",
sizes: "512x512",
type: "image/png",
purpose: "any"
},
{
src: "/icon-144x144.png",
sizes: "144x144",
type: "image/png",
purpose: "any"
}
],
screenshots: [
{
src: "/screenshot-wide.png",
sizes: "3840x2160",
type: "image/png",
form_factor: "wide"
},
{
src: "/screenshot-mobile.png",
sizes: "2160x3840",
type: "image/png",
form_factor: "narrow"
}
]
},
}),
],
});以下是各个选项的细分:
4.向公共目录添加图标
确保在清单中指定的公共目录中添加图标和 img 文件(例如,public/pwa-144x144.png、public/pwa-192x192.png、public/pwa-512x512.png、public/screenshot-wide.png 和 public/screenshot-mobile.png)。
5. 启用离线缓存和自定义 Service Worker 配置(可选)
VitePWA 中的 Workbox 选项允许您设置高级缓存和离线策略。要启用特定的缓存行为,您可以自定义 Workbox 配置。
6. 构建并测试 PWA
npm run dev
npm run build npm install -g serve serve -s dist
现在,您的 Vite + React 项目是一个 PWA,配备了服务工作线程、缓存和可安装性!此设置在基于 Vite 的快速开发环境中提供了 PWA 的所有优势。