google-chrome - 使用webpack时后台和popup如何连接
问题描述
我正在使用 webpack 开发一个 chrome 扩展,webpack.config.js 可以是这样的:
entry: {
background: ['babel-polyfill', './src/background'],
content: ['babel-polyfill', './src/content'],
popup: ['babel-polyfill', './src/popup'],
},
output: {
filename: '[name].js',
path: path.resolve('./dist/'),
publicPath: '/',
},
webpack 将文件构建到目录--dist 中,我将它们设置在 mainifest.json 中以供 chrome 使用。但是我发现由于 webpacks 的构建,dist/background 和 dist/popup.js 不能像以前一样连接:
// popup.js
var bg = chrome.extension.getBackgroundPage();
bg.test()
我想将一些变量从 popup.js 传递给 background.js,在这种情况下我该怎么办?
解决方案
我只是使用 chrome storage API 来解决这个问题。背景和弹出窗口都共享相同的存储空间。至于常用功能,放在同一个javascript文件中,后台导入,使用webpack弹出即可。
推荐阅读
- azure - 图形 API 的编程身份验证
- powerbi - PowerBI - 将 DatePicker 切片器中的日期格式设置为 dd/mm/yyyy
- android - 如何为列表视图中的每个项目使用相同的图像
- service-fabric-stateful - 构建 Service Fabric 应用程序需要大量时间
- java - Apache NetBeans 11.1 无法正常工作
- javascript - 从 Firebase 数据库中检索过去 2 天的结果
- reactjs - 渲染按钮 React Native 的新行 onPress()
- php - 从 URL 内容/JSON 中读取汉字 - Google Places
- sqlite - sqlite中选择的意外结果
- r - 在字符串的最后一个句号之前将字符串拆分为 2 个元素并从 R 中的第二个元素中删除标点符号?