请问有人知道Qt Quick UI Prototype怎样在".qmlproject"文件里面导入".mjs"文件吗?最近在学习qml,买了霍亚飞的书《Qml和Qt Quick快速入门》,在该书对应的源码“2-33/myjs”用Q打开“myjs.qmlproject”却没有加载”factorial.mjs“和”script.mjs“:
项目结构如下及内容:
// myjs.qmlproject
/* File generated by Qt Creator */
import QmlProject 1.1
Project {
mainFile: "myjs.qml"
/* Include .qml, .js, and image files from current directory and subdirectories */
QmlFiles {
directory: "."
}
JavaScriptFiles {
directory: "."
}
ImageFiles {
directory: "."
}
/* List of plugin directories passed to QML runtime */
// importPaths: [ "asset_imports" ]
}
// factorial.mjs
export function factorial(a) {
a = parseInt(a);
if (a <= 0)
return 1;
else
return a * factorial(a - 1);
}
// script.mjs
import { factorial } from "factorial.mjs"
export { factorial }
export function showCalculations(value) {
console.log(
"Call factorial() from script.mjs:",
factorial(value));
}
// myjs.qml:
import QtQuick
import "script.mjs" as MyScript
Item {
width: 100; height: 100
MouseArea {
anchors.fill: parent
onClicked: {
MyScript.showCalculations(10)
console.log("Call factorial() from QML:",
MyScript.factorial(10))
}
}
}