【发布时间】:2015-12-10 02:36:17
【问题描述】:
我正在为 PIXI.js 库准备 externs。我收到以下警告:
js/Test.js:188: WARNING - Property position never defined on PIXI.Sprite
button.position.y = y;
以下是相关的外部定义:
//更新
/**
* @constructor
* @extends {PIXI.Container}
* @param {PIXI.Texture} texture
*/
PIXI.Sprite = function(texture){};
/**
* @constructor
* @extends {PIXI.DisplayObject}
*/
PIXI.Container = function(){};
/**
* @constructor
* @extends {PIXI.EventEmitter}
*/
PIXI.DisplayObject = function(){};
/**
* @type {PIXI.Point}
*/
PIXI.DisplayObject.position;
仍然收到同样的警告。
我做错了什么?
当我用PIXI.DisplayObject.prototype.position; 替换PIXI.DisplayObject.position; 时,似乎清除了警告。
这是否意味着我应该始终定义 SomeObject.prototype.prop 而不是 SomeObject.prop ?
【问题讨论】:
-
闭包编译器不理解
@member、@memberof或@class注释。此外,您的@extends注释需要大括号:@extends {parentType}。这是编译器理解的注解参考:developers.google.com/closure/compiler/docs/js-for-compiler -
@ChadKillingsworth 谢谢你的评论,我做了更正,仍然收到同样的警告。我更新了问题。如果我添加
prototype,它似乎可以工作。我应该总是定义SomeObject.prototype.prop而不是then SomeObject.prop吗?
标签: google-closure-compiler pixi.js