QJSEngine (QT 5.6) で JavaScript ファイルをインポートすることは可能ですか?
例 1:
プレーンテキスト編集のテキスト:
.import "./jsimport.js" as Test
var x = Test.y;
console.log(x);
c++:
void MainWindow::on_pushButton_clicked()
{
QJSEngine engine;
engine.installExtensions(QJSEngine::AllExtensions);
QJSValue result = engine.evaluate(ui->plainTextEdit->toPlainText());
qDebug() << "isError:" << result.isError();
qDebug() << "resultString:" << result.toString();
if(result.hasProperty("lineNumber"))
qDebug() << "property lineNumber:" << result.property("lineNumber").toInt();
}
jsimport.js ファイル内のテキスト:
var y = 42;
結果:
isError: true
resultString: "ReferenceError: Test is not defined"
property lineNumber: 2
例 2:
PlainTextEdit のテキスト:
.import "./jsimport.js"
同じ C++ コード
結果:
isError: true
resultString: "SyntaxError: File import requires a qualifier"
property lineNumber: 1
最後のエラーのため、インポートにはいくつかの機能があるようです。