Google closure compiler Google闭包中的部分类?

Google closure compiler Google闭包中的部分类?,google-closure-compiler,google-closure,Google Closure Compiler,Google Closure,是否可以使用Google闭包编译器在两个文件中定义一个类?例如,如果我自动生成一个类,并希望为用户输入的代码保留另一个类: 在MyClass.AutoGenerated.js中 goog.provide("MyClass"); MyClass = function() { } MyClass.prototype.SomeMember = 15; 然后在MyClass.js中,继续声明成员和函数: MyClass.prototype.AnotherMember = 15; MyClass.pro

是否可以使用Google闭包编译器在两个文件中定义一个类?例如,如果我自动生成一个类,并希望为用户输入的代码保留另一个类:

在MyClass.AutoGenerated.js中

goog.provide("MyClass");
MyClass = function() {
}
MyClass.prototype.SomeMember = 15;
然后在MyClass.js中,继续声明成员和函数:

MyClass.prototype.AnotherMember = 15;
MyClass.prototype.SomeAwesomeFunction = function() {};

只要文件顺序正确,这就不是问题。但是,如果可以在填写原型之前实例化类,则排序可能会很棘手。

我发现,在不依赖构建顺序的情况下,实现这一点的唯一方法是:

在MyClass.js中

goog.provide("MyClass");
MyClass = function() {
}
MyClass.prototype.SomeMember = 15;
然后在MyClass.Partial.js中,继续声明成员和函数,并提供带有.Partial的命名空间(例如):

那么调用代码必须调用:

goog.require("MyClass");
goog.require("MyClass.Partial");
以便以正确的顺序包含这两个文件。MyClass.Partial类不需要以任何方式存在;它只是goog.require和goog.provide方法使用的标识符。

请参阅:
goog.require("MyClass");
goog.require("MyClass.Partial");