使用typescript时,chrome.extension.getBackgroundPage()变量未定义,但可以与javascript配合使用

使用typescript时,chrome.extension.getBackgroundPage()变量未定义,但可以与javascript配合使用,javascript,typescript,google-chrome-extension,Javascript,Typescript,Google Chrome Extension,我有一个带有弹出窗口和背景脚本的chrome扩展。我使用后台脚本存储一些变量和函数,并使用chrome.extension.getBackgroundPage().VARIABLENAME访问它们。我最近将chrome扩展名改为typescript,现在所有这些变量都未定义 弹出窗口 背景 多亏了woxxom的建议,这个问题得以解决 弹出窗口 背景 TS编译器可能会将var转换为let,这会阻止变量在另一个词法范围内被访问。另一种可能性是编译器将整个代码包装在IIFE中。可能有一种方法可以配置编

我有一个带有弹出窗口和背景脚本的chrome扩展。我使用后台脚本存储一些变量和函数,并使用chrome.extension.getBackgroundPage().VARIABLENAME访问它们。我最近将chrome扩展名改为typescript,现在所有这些变量都未定义

弹出窗口 背景
多亏了woxxom的建议,这个问题得以解决

弹出窗口 背景
TS编译器可能会将
var
转换为
let
,这会阻止变量在另一个词法范围内被访问。另一种可能性是编译器将整个代码包装在IIFE中。可能有一种方法可以配置编译器,但最简单的解决方案是使用
window.app=“1234”
。效果很好!谢谢
let app = chrome.extension.getBackgroundPage().app 
console.log(app) // undefined, but used to print 1234
var app = "1234"
let app = chrome.extension.getBackgroundPage().app 
console.log(app) // 1234
var app = "1234"
window.app = app