我会试着总结了几步,反问之后
underscore.js
未能开发JavaScript组件(如下所述:第三方何时安装Underscore.js和noconflict )。 我的代码包含以下行来避免不同版本underscore.js的冲突:。窗口$ MyUS = _.noConflict();
展望时
underscore.js
代码,发现如果exports
或module.exports
定义,比_
变量将成为其成员exports
或module.exports
。 它只是发生(在浏览器,而不是当然的Node.js)。我试图挽救
exports
对象放在一边,装之前将其删除underscore.js
和调用后马上恢复noConflict()
然而,当调用delete exports
,我有false
,这意味着exports
不能被删除。我发现了两个成员函数在
exports
对象:compile()
和compileToString()
通过观察它们的实现,我发现LF
引用这或许是指livefyre
的Javascript API( http://www.livefyre.com/docs/javascript-sdk-reference )
这是解决冲突的好办法吗? 我看到下面的选项:
修改underscore.js代码,以便它不会尝试将自己安装到
exports
对象。让underscore.js修改
exports
对象,并希望不会发生差错在任何网站上。 在这种情况下,我将需要重新编写window.$MyUS = _.noConflict();
行这样的:窗口。$ MyUS = .noConflict || 出口。 .noConflict()|| ...; //为了清楚省略了完整性检查,显然生产代码必须是更健壮的
如果您需要任何更多的信息 - 请询问。