JavaScript插件 - 无法读取未定义的属性“窗口”

时间:2017-07-19 17:28:35

标签: javascript

我正在尝试编写vanilla JavaScript插件但出现以下错误:

cannot read property 'window' of undefined 

这是我的代码:

(function (root, factory) {
  if ( typeof define === 'function' && define.amd ) {
    define([], factory(root));
  } else if ( typeof exports === 'object' ) {
    module.exports = factory(root);
  } else {
    root.myPlugin = factory(root);
  }
})(typeof global !== "undefined" ? global : this.window || this.global, function (root) {
  'use strict';
...

1 个答案:

答案 0 :(得分:0)

如果你想获得真正的幻想,你可以将你的长行改为

(typeof global !== 'undefined' ? global : 
        typeof self !== 'undefined' ? self :
        typeof window !== 'undefined' ? window : {}, function (root) {
    // code
});

但是,了解像帕特里克建议的范围总是更好。