有一些平台使用QtScript作为JavaScript解释器来描述应用程序的逻辑。
JS上的脚本示例
var f=new File('/var/www/test1');
f.write('123\n');
f.CopyTo('/var/www/test2');
文件对象描述为
class File : public QObject, QScriptable {
Q_OBJECT
.. .
}
这样的对象超过10个在平台中描述,很多逻辑放在他们的构造函数/析构函数中,有Q_INVOKABLE方法在JS代码中调用。
问题:是否可以将所有这些转移到QJSEngine并保存了JS代码的语法(它已经写得太多了)?
查找对stackoverflow的响应
Dynamic c++ object in QJSEngine
建议通过工厂完成,但它会严重恶化JS代码的可读性,应该重写