第一个错误表示某个文件已加载但不包含预期的 JSON 或 JavaScript。相反,该文件包含 HTML 或 XML。
第二个错误说文件touch/src/Title.js不包含Ext.define('Ext.Title', ...)。
如果满足以下条件,则会连续发生这两个错误:
- 您的应用程序在某处使用
Ext.Title,
- 您没有将
Ext.Title 添加到您的需求部分,
- 文件
touch/src/Title.js在应用程序目录中不存在并且
- 如果未找到文件,提供应用程序的 Web 服务器会提供 HTML 错误页面。
仅当定义 (Ext.define('Ext.Title') 未编译到 app.js 中时,您的应用程序才会尝试加载文件 touch/src/Title.js。
通常,根本问题是您在文件中缺少requires 指令。 requires 指令在编译时进行评估,并将组件添加到 app.js,因此您的应用不会尝试在运行时加载 Title.js。如果您将需求添加到使用它的组件中:
Ext.define('MyOwnComponent',{
requires: ['Ext.Title'], // <- add it here
constructor: function() {
Ext.create('Ext.Title'); // <- if it is used e.g. here
}
});
然后再次编译您的应用程序,您应该一切顺利。如果你不知道它在哪里使用,你可以将它添加到你的 Application.js 中,其中也有一个 requires 部分:
Ext.define('MyApplication',{
extend: 'Ext.app.Application',
requires: ['Ext.Title'], // <- add it here
stores:[],
...
});