设置:Ubuntu 16.04.3 LTS,MATE 1.12.1 我做了什么:
cd /home/master/sencha/test; sencha app init --ext@6.5.2
在终端; 将下一个代码放入app.js:
Ext.application({
name: 'Test',
requires: [
'Ext.tip.QuickTipManager'
],
launch: function () {
Ext.tip.QuickTipManager.init();
}
});
在终端中执行sencha app watch
。
我得到了什么:
Sencha Cmd v6.5.2.15
[INF] Processing Build Descriptor : default (development environment)
[INF] Starting server on port : 1841
[INF] Mapping http://localhost:1841/~cmd to /home/scilef/bin/Sencha/Cmd/6.5.2.15...
[INF] Mapping http://localhost:1841/ to /home/scilef/sencha/test...
[INF] Server started at port : 1841
[INF] Application available at http://localhost:1841
[INF] Loading compiler context
[INF] Loading app json manifest...
[ERR] C2008: Requirement had no matching files (Ext.tip.QuickTipManager) -- /home/scilef/sencha/test/app.js:7:150
[ERR]
[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.ExBuild: Failed to find any files for /home/scilef/sencha/test/app.js::ClassRequire::Ext.tip.QuickTipManager
[ERR] at or
[ERR] g.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[ERR]
[ERR] Total time: 9 seconds
[ERR] /home/scilef/bin/Sencha/Cmd/6.5.2.15/plugin.xml:378: The following error occurred while executing this line:
/home/scilef/bin/Sencha/Cmd/6.5.2.15/ant/build/app/build-impl.xml:253: The following error occurred while executing this line:
/home/scilef/bin/Sencha/Cmd/6.5.2.15/ant/build/app/watch-impl.xml:87: The following error occurred while executing this line:
/home/scilef/bin/Sencha/Cmd/6.5.2.15/ant/build/app/build-impl.xml:387: The following error occurred while executing this line:
/home/scilef/bin/Sencha/Cmd/6.5.2.15/ant/build/app/init-impl.xml:436: com.sencha.exceptions.ExBuild: Failed to find any files for /home/scilef/sencha/test/app.js::ClassRequire::Ext.tip.QuickTipManager
[ERR] A log is available in the file "/home/scilef/sencha/test/sencha-error-20171113.log"
尝试要求(或使用)Ext.form.field.Number,Ext.form.field.Date或Ext.progressBar时,我遇到了同样的错误。
我是ExtJS的新手,我在最后一天花了很多时间找到解决这个问题的方法,但没有取得任何成功。我做错了什么?
答案 0 :(得分:1)
问题在于,自ExtJS 6.0.0以来,一个包中有两个工具包,名为classic
和modern
。您的命令会创建一个支持这两个工具包的所谓"universal app"。 app.js
文件也用于两个工具包;在子文件夹classic
和modern
中,有些文件仅用于一个工具包。
现代工具包适用于带触摸的现代设备,适用于带鼠标和键盘的经典设备的经典工具包。
Ext.tip.QuickTipManager
仅适用于经典工具包,因为鼠标悬停时会显示工具提示 - 您无法将鼠标悬停在触控设备上。因此,您必须将所有QuickTipManager代码移至classic/Application.js
或您classic
文件夹中的任何javascript文件。