我目前正在尝试使用es6类更新我的chrome扩展程序。它在后台脚本的上下文中工作正常。但我无法使用chrome.extension.getBackgroundPage()在ui页面(即扩展程序的弹出窗口)中访问这些类。
background.js
function Foo() { ... }
class Bar { ... }
popup.js
var bg = chrome.extension.getBackgroundPage();
new bg.Foo() // works
new bg.Bar() // Bar is undefined
我发现了这个简单的解决方法:
background.js
class Bar {}
var exports = { Bar : Bar };
popup.js
var bg = chrome.extension.getBackgroundPage();
new bg.exports.Bar() // works
任何想法为何无法通过&#; bg'直接访问课程。对象
答案 0 :(得分:2)
为什么不能通过'bg'对象直接访问类?
是:class
不要become properties of the global object even if they are global。
您不需要exports
对象来解决此问题,您只需使用
var Bar = class { … };