首页 > 解决方案 > 使用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,在这种情况下我该怎么办?

标签: google-chromewebpack

解决方案


我只是使用 chrome storage API 来解决这个问题。背景和弹出窗口都共享相同的存储空间。至于常用功能,放在同一个javascript文件中,后台导入,使用webpack弹出即可。


推荐阅读