Browserify window 对象没有全局变量

Browserify window object does not have globals

我需要添加以下形式的全局库:

window.Foo = function() {
  api = {};
  api.myVar = GLOBALS;
  return api;
}

使用外部脚本标签添加到我的项目。 GLOBALS 是从 window.FOO 依赖的另一个库添加到 window 的另一个变量。但是,当我在我的 Browserify 模块之一中访问 window 时,window.Foo 不存在。如果我尝试填充 window.FOO,那么它的全局依赖项对它不可用。不过,我可以从 chrome 检查员那里看到并使用 window.Foo。如何获取模块中的 "real" window 对象?感谢您的帮助。

您应该使用类似下面的模式,其中 Foo 将附加到 this 在所有环境中指向的任何对象。就像在浏览器中一样,它会将其添加到 window

(function(global) {
    global.Foo = function() {
         return {};
    }
})(this);                  

想通了!该项目是一个 chrome 扩展,它正在被沙盒化。它与 Browserify 无关。