我今天在 GitHub 上收到了一个关于一个小型 jquery 插件的拉取请求,该插件提议在它的主分支中进行一些修改,因为该插件的 Flash 元素不适用于require.js闭包。归结为 Flash 需要一个全局变量,因此通过 require.js 加载后范围会发生变化,并且不再看到该变量。
拉取请求中建议的修复是省略声明,所以基本上:
foo = { "bar": 1 };
代替:
var foo = { "bar": 1 };
但这会禁止 jslint 永远通过,所以我真的不想这样做。
我应该在我的主脚本中解决这个问题吗?
var foo = { "bar": 1 };
if ( typeof(window) === 'object' ) { window['foo'] = foo; }
还是我应该鼓励在实现中而不是在我的脚本中解决这个问题?