node绑定外部导入JS,addComponent: Failed to get class

通过 cc.loader.load从外部导入js文件,并作为组件添加给节点,但是报错addComponent: Failed to get class。
目测在creator中js文件会解析为cc.Component类,有没有办法把外部导入的js转为cc.Component类,再作为组件添加到节点上。求大神告知~

    var self = this
    cc.loader.load(this.convertToAbsolutePath('/course.js'), function (err, jsFile) {
            if (!err && jsFile) {
                    cc.log('load jsFile success');
              
                    self.node.addComponent(jsFile);

            } else {
                    cc.error('load jsFile error:' + err);
                    return;
            }
    });

理论上是可以的,你这里报错的原因是 addComponent 时传入了一整个 jsFile ……
你应该传入的是构造函数。至于这个构造函数要怎么获得,你就要自己想想办法了。

1赞