我有一个使用Google Closure编译的JavaScript模块。此模块需要包含在一个网页中,该网页还包含一些第三方无关代码。
问题是两段代码都在使用命名空间" com"所以:com.companyone.x.y.z和com.companytwo.x.y.z
似乎闭包编译器会自动生成代码来创建名称空间,如下所示:
var com = {mycompany: {}};
因此覆盖以前使用过com命名空间的任何其他内容。
如果我是手写这个,我首先检查命名空间是否存在:
var com=com||{};
com.mycompany=com.mycompany||{};
作为临时解决方案,我考虑自动替换" var com = {"用" var com = com || {"但它看起来很黑。
有没有办法确保Closure编译器不会覆盖现有的com命名空间?