我会尝试总结几个步骤,然后问一个问题
underscore.js开发 3rd-party javascript 组件时安装失败(如此处所述:Underscore.js 和 noconflict)。我的代码包含以下行以避免不同版本的underscore.js发生冲突:window.$MyUS = _.noConflict();
在查看
underscore.js代码时发现,如果定义了exportsor ,则变量将成为or的成员。它只是发生了(在浏览器中,当然不是在Node.js中)。module.exports_exportsmodule.exports我试图将
exports对象保存在一边,并在加载之前将其删除,underscore.js并在调用noConflict(). 但是,调用 时delete exports,Ive gotfalse,表示exports无法删除。我在
exportsobject:compile()和compileToString(). 通过查看他们的实现,我发现LF了可能引用livefyreJavascript API ( http://www.livefyre.com/docs/javascript-sdk-reference )的参考资料
解决冲突的更好方法是什么?我看到以下选项:
修改underscore.js代码,使其不会尝试将自身安装到
exports对象中。让underscore.js来修改
exports对象,希望任何网站都不会出错。在这种情况下,我需要像这样重写该window.$MyUS = _.noConflict();行:window.$MyUS = .noConflict || 出口。.noConflict() || ... ; // 为了清楚起见省略了完整性检查,显然生产代码必须更健壮
如果您需要更多信息 - 请询问。