2
以下示例代码在高级优化上生成编译器警告:“JSC_UNSAFE_NAMESPACE:为名称空间NS创建的不完整别名”。如果我删除@enum注释,它不会给出警告。Closure编译器使用名称空间枚举发出警告
var NS = {};
/**
* @enum {string}
*/
NS.type = {
FOO : 'bar'
};
NS.foobar = function(){ alert(NS.type.FOO); };
window['NS'] = NS;
window['NS']['foobar'] = NS.foobar;
仅导出功能,而不是命名空间也似乎工作:
window['NS_foobar'] = NS.foobar;
我在做什么错?有没有解决的办法?如果可能,我宁愿不包含Closure库。