在 create-react-app 构建中使用 chrome 存储 API

Using chrome storage API with create-react-app build

我正在创建一个 chrome 扩展并使用 create-react-app 引导项目。

一般问题:

我想在我的 React 应用程序中访问 chrome.storage api

具体问题:

我希望能够在我的 React 应用程序中使用 chrome.storage API 来存储一些设置,所以我在我的 src 目录中创建了一个脚本,该脚本尝试调用 chrome.storage.sync.set() 我得到了 'chrome' is not defined no-undef。我认为这是因为我需要在清单中包含进行此调用的脚本。问题是我无法在我的清单中包含来自 src 的这个脚本,因为在 create-react-app 构建我的项目后,src 被缩小并且文件结构全部改变。

另一个问题是 create-react-app 强制我只从 src 导入,但我需要来自 public 的数据,所以我不能只做 chrome API 通过从 public 导入函数来调用。我知道 create-react-app 有弹出功能,但我想保留 create-react-app 给我的构建功能。

如何在从我的 src 目录访问 chrome.storage API 的同时维护 create-react-app 的构建功能?

那个错误 ('chrome is not defined no-undef') 看起来像一个 linting 错误; create-react-app 附带的 linter 认为 chrome 未定义,因为您的代码从未定义它。 linter 几乎不知道,对于 Chrome 扩展,它是一个全局变量,因此 不必定义它。

尝试将 /* global chrome */ 添加到使用 chrome 变量的文件的顶部。