service-worker - 既然 @babel/polyfill 已被弃用,如何使用 cra-append-sw 构建?
问题描述
我正在尝试向 create-react-app 提供的开箱即用的 serviceworker 添加功能。值得庆幸的是,cra-append-sw 让我无需从 cra 中弹出即可做到这一点。
但是,在安装 cra-append-sw 时,npm 会警告我 @babel/polyfill@7.4.4 已被弃用(@babel/polyfill 被列为 cra-append-sw 依赖项):
As of Babel 7.4.0, this package has been deprecated in favor of directly including core-js/stable (to polyfill ECMAScript features) and regenerator-runtime/runtime (needed to use transpiled generator functions):
import "core-js/stable";
import "regenerator-runtime/runtime";
然后,当我尝试npm run build
附加一个自定义服务工作者时,构建会吐出一条长长的错误消息,其顶部是:
ERROR in multi ./custom-sw.js
Module not found: Error: Can't resolve './custom-sw.js' in '/Users/michaelmersiades/workspace/vanilla-cra'
resolve './custom-sw.js' in '/Users/--/workspace/vanilla-cra'
using description file: /Users/--/workspace/vanilla-cra/package.json (relative path: .)
Field 'browser' doesn't contain a valid alias configuration
并且 custom-sw.js 没有出现在构建文件夹中。
这是可以修复的吗?如果是这样,怎么做?或者这对优秀的 ira-append-sw 人来说是个问题吗?
我提前感谢任何可以提供帮助的人。
解决方案
愚蠢的错误。custom-sw.js 文件位于 /src 中,但它需要位于 /(根文件夹)中。
将其移至/解决了问题。
推荐阅读
- dataset - SSRS textrun 在外部聚合中使用第一个聚合(不同的数据集)
- angular - Angular:路由器导航不返回根网址
- python - 如何使用具有透明背景的opencv将png图像修复到另一个图像上
- html - IE 11 中的 CSS 网格问题
- google-app-engine - 将应用程序从 Bitbucket 部署到 Google 云应用引擎
- ecmascript-6 - 是什么让 ES6 如此特别?
- mysql - 如何按字符串类型的列进行排序,但字母与排序无关?
- ruby-on-rails - 当我执行 user.file.attach(params[:file]) 时,使用活动存储时它不会保存
- konvajs - 如何在 KonvaJS 中输入数学?(集成 MathQuill 或类似软件)
- sql - 为什么 Azure SQL 数据库如此昂贵?