【发布时间】:2017-05-25 23:03:21
【问题描述】:
为了编写可重用的 QML 代码,我正在寻找一个(静态代码)检查器,它可以检测不同 qml 文件之间不需要的依赖关系。
举个例子,B.qml 依赖于 A.qml 中的标识符:
A.qml
Item {
id: dependencyId
...
delegate: B {}
}
B.qml
Item {
id: delegateB
...
text: dependencyId.text
}
由于 B.qml 的文本元素依赖于来自 A.qml 的标识符,因此无法正确重用此代码。
只要 A.qml 中 Item 的 id 不变,这段代码就会编译/运行,因此不会注意到依赖关系。 我试过 QmlLint,但这没有出错。
是否有可用的 QML 静态代码检查器可以检查这个?
【问题讨论】:
-
您可以在每个文件上使用
qmlscene。如果有这样的依赖,会引发ReferenceError -
正是我想要的(用 qmllint 完成),谢谢!添加了 --quit 选项,以将其合并到我的构建中。
标签: qt dependencies qml qtquick2 reusability