升级至 v2

升级在 PWA Kit v2 之前生成的项目,以利用 v2 中的框架和工具改进。

升级不会自动从 Retail React App 模板添加任何新的网店功能,但您可以使用最新的 Retail React App 代码作为参考手动添加它们。

我们为 PWA Kit v2 添加了许多新功能,包括:

🥳 TypeScript 支持。构建工具现在默认支持 TypeScript,无需更新 Babel 或 Webpack 的配置文件。

🧰 更新的****开发服务器,支持服务器端的热重载,并可以在未来的版本中支持客户端的热重载。

🤓 名为pwa-kit-dev全新命令行工具,它与我们推荐的开发工具相捆绑,如 Webpack、Babel 和 Jest,以支持零配置项目模板。

🖌️ 为有兴趣使用 Managed Runtime 托管其他基于 Express 的应用程序(不仅仅是 Retail React App)的用户提供对非 React 应用程序的实验性支持

如果您尚未生成 PWA Kit 项目,请参阅快速入门指南以使用 v2 生成新项目。

我们使从 v1.5 到 v2 的升级过程尽可能简单,只需对少量现有项目文件进行更改。

如果您是从 v1.4(或更早版本)升级,则该过程与从 v1.5 升级相同,但多了一个步骤。更新所有涉及 pwa-kit-react-sdkimport 语句,使导入路径不再包含 dist/ 文件夹。

继续阅读以完成剩余的升级任务(适用于 v1.5 和 v1.4 用户)。

要开始升级过程,请从项目的根目录打开 package.json

添加并安装三个新 pwa-kit-* 软件包:

移除以下依赖项。现在,新 pwa-kit-dev 工具会为您处理这些依赖项。(如果版本号与您项目中的版本号不完全匹配,请将其删除。)

将这些 NPM 脚本转换为使用新的 pwa-kit-dev

从项目的根目录打开 babel.config.js用这一行替换整个文件

如果您对 Babel 配置进行了任何自定义,请在以下调用将自定义添加至 require() 函数。

如果您尚未从项目的根目录自定义 webpack.config.js 文件,请将其删除。系统会自动为您加载默认配置文件。

如果您确实有自定义,则必须先调用 require() 函数后添加它们以获取基本配置:

如果您对 app 目录中的 ssr.js 文件进行了任何自定义,请将文件重命名为 ssr.backup.js,以便您可以保留自定义。

从 GitHub 下载新版本的 ssr.js 并将其复制到您的项目 app 目录中。如果您没有自定义,请覆盖现有文件。

如果您自定义,则打开 ssr.jsssr.backup.js 并将您的自定义 ssr.backup.js 集成到 ssr.js

使用以下代码块作为合并自定义项的指南:

ssr.js 和由 ssr.js 导入的任何文件中始终使用 CommonJS 模块语法 (require, module.exports)。

无论何时使用 getConfig,从新 pwa-kit-runtime 包中将其导入:

打开 worker/main.js 并添加此新路由:

在 v2 中,必须明确定义每个 Managed Runtime 环境的代理设置。在 v1 中,有一种回退机制,允许 Managed Runtime 环境使用与本地开发环境相同的代理设置。由于性能和维护问题,v2 项目不支持回退机制。

要了解如何使用 Runtime Admin 工具或 Managed Runtime API 为 Managed Runtime 环境配置代理设置,请参阅代理请求

您还可以利用 v2 中新的特定于环境的配置功能来配置 Managed Runtime 环境的代理设置。

在 v2 之前,PWA Kit 支持 Node 12.x。对于 v2,您必须确保您的代码适用于 Node 14.x。

要测试您的更改是否成功,请运行以下命令:

  1. npm start 验证应用程序是否能够在本地运行。
  2. npm run build 用于验证构建过程是否成功。
  3. npm run push(并通过 Runtime Admin 部署)以验证部署捆绑包是否成功。