Component能只导出指定的函数和字段么?

一般的JavaScript脚本可以通过module.exports来实现。但我尝试用类似的方式在Component中实现时,
比如我想在Cocos组件只导出log函数:

但是编译不过,请教下我改如何才能做到?多谢!

1赞

你这里应该写的是:

module.exports = {
    log: someFunctionName
}

另外,提醒一下,Cocos.log 的结果将是 undefined,因为你的 Cocos 是一个类,它里面定义的函数实际上存在于它的 prototype 中,可以被所有的类对象所访问,却无法被类名访问到

1赞

嗯,多谢大神指导,上面的截图的代码我是乱写的,因为实在不知道如何实现。
那该如何实现Component只导出指定的函数和字段呢?可能题目我说得不是很清楚,再次举个例子吧:


上图是Creator中的组件脚本,我该如何让这个组件只导出PublicFunciton?也就是外部取到这个组件,只能访问到PublicFunction?有方法能做到么?

MARK,作为JS新手,需要学习

那你可以这么定义:

function privateFunction () {
}

cc.Class({
    onLoad: function () {
        privateFunction();

        // 这样 privateFunction 里写 this 会指向这个实例
        privateFunction.call(this);
    }
});
2赞

666666 GET新技能

赞~~学习了,多谢!