【问题标题】:Transform React project into Progressive Web App将 React 项目转换为 Progressive Web App
【发布时间】:2021-06-07 19:20:28
【问题描述】:

我创建了一个 Web 应用程序(symfony 后端和 React 前端),我对制作一个渐进式 Web 应用程序很感兴趣。总的来说,这似乎是可行的。你需要创建一个 manifest.json 和一个 service worker。 但是,我不知道在哪里创建这两个文件,以便在我进行 npm run build (或者甚至 npm run dev server 如果可行的话)时将其考虑在内。当我将这些文件拖到根目录时,浏览器告诉我它没有找到任何这些文件。

【问题讨论】:

    标签: reactjs progressive-web-apps


    【解决方案1】:

    您可以按照以下命令使用 PWA 模板引导您的应用程序:

    npx create-react-app YOUR_PROJECT_NAME --template cra-template-pwa
    

    添加参数--template cra-template-pwa 以创建具有服务工作者的应用程序。

    您新创建的项目的目录包含文件index.js。打开它,找到如下代码:

    serviceWorker.unregister();
    

    这里可以看到serviceWorker还没有注册。您必须将unregister() 调用更改为register()

    serviceWorker.register();
    

    为您的渐进式网络应用配置网络应用清单,该清单位于 public 目录中的 manifest.json 文件中。在这里,您需要更改负责应用程序外观的元数据。

    【讨论】:

    • 感谢您的帮助,但这是在您创建新项目的情况下。就我而言,该项目已经存在。
    • 对于现有项目,您必须使用 npm 命令手动安装必要的包:npm i workbox-background-sync workbox-broadcast-update workbox-cacheable-response workbox-core workbox-expiration workbox-google-analytics workbox-navigation-preload workbox-precaching workbox-range-requests workbox-routing workbox-strategies workbox-streams 并且还必须在 public 文件夹中添加 manifest.json 文件, service-worker.js & serviceWorkerRegistration.jssrc 文件夹中
    猜你喜欢
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    相关资源
    最近更新 更多