ExtJS 5.0 - 协助覆盖
ExtJS 5.0 - assistance with overrides
在现有的ExtJS 5.0项目中,不能更改原始代码。我们 允许将代码添加到现有的 overrides/
目录。
我想覆盖 class Products.view.ProductsTreeViewController
中的现有函数 generateTree
。
当前函数在 Useless/app/view/
下的文件 PTVC.js
中。
这是我用来覆盖的代码:
Ext.define('overrides.Products.view.ProductsTreeViewController', {
override :'Products.view.ProductsTreeViewController',
generateTree: function (data) {
if (this.isValid(data))
this.callOverridden(data);
else
this.callOverridden(this.getDefaultData());
}
};
First question, where should the code reside under overrides/
? I've seen many different configurations suggested, e.g.
所有内容都在一个文件中:
Useless/
overrides/
app.js
与原始文件相同的路径:
Useless/
overrides/
app/
view/
PTVC.js
已覆盖 class 名称:
Useless/
overrides/
Products/
view/
ProductsTreeViewController/
class.js
我已经尝试了上述所有方法和更多方法,并通过各种方式确认代码没有被包含!
So second question, how to make sure it is included?
文档使它看起来很简单,这使它更加令人沮丧。
在我使用的版本中 sencha.cfg
中没有 classpath
变量,在任何情况下我都会更改现有文件,所以可能无法这样做,或者添加requires
in Ext.application
出于同样的原因。
So third question, in lieu of modifying existing files, is there a build command line switch I can use to specify an additional build directory?
我绞尽脑汁想弄明白这个问题。任何建议,除了辞掉我的工作,将不胜感激。
最好复制目录结构,这样就不用担心文件名冲突了,但是可以把文件放在overrides/
.
下的任意位置
你是 运行 ExtJS 5.0.0 吗?它有一个回归错误,他们忘记在 app.json
中包含 "overrides": "${app.dir}/overrides"
。您也可以修改 .sencha
下的配置文件,但最好将其放在 app.json
下。您不需要 requires
。这在版本 5.0.1 中已修复。
可能不会,但是在 app.json
中添加该行是一个非常小的更改,并且是在 5.0.0 中进行覆盖的唯一方法(我怀疑您正在使用) .
在现有的ExtJS 5.0项目中,不能更改原始代码。我们 允许将代码添加到现有的 overrides/
目录。
我想覆盖 class Products.view.ProductsTreeViewController
中的现有函数 generateTree
。
当前函数在 Useless/app/view/
下的文件 PTVC.js
中。
这是我用来覆盖的代码:
Ext.define('overrides.Products.view.ProductsTreeViewController', {
override :'Products.view.ProductsTreeViewController',
generateTree: function (data) {
if (this.isValid(data))
this.callOverridden(data);
else
this.callOverridden(this.getDefaultData());
}
};
First question, where should the code reside under
overrides/
? I've seen many different configurations suggested, e.g.
所有内容都在一个文件中:
Useless/
overrides/
app.js
与原始文件相同的路径:
Useless/
overrides/
app/
view/
PTVC.js
已覆盖 class 名称:
Useless/
overrides/
Products/
view/
ProductsTreeViewController/
class.js
我已经尝试了上述所有方法和更多方法,并通过各种方式确认代码没有被包含!
So second question, how to make sure it is included?
文档使它看起来很简单,这使它更加令人沮丧。
在我使用的版本中 sencha.cfg
中没有 classpath
变量,在任何情况下我都会更改现有文件,所以可能无法这样做,或者添加requires
in Ext.application
出于同样的原因。
So third question, in lieu of modifying existing files, is there a build command line switch I can use to specify an additional build directory?
我绞尽脑汁想弄明白这个问题。任何建议,除了辞掉我的工作,将不胜感激。
最好复制目录结构,这样就不用担心文件名冲突了,但是可以把文件放在
下的任意位置overrides/
.你是 运行 ExtJS 5.0.0 吗?它有一个回归错误,他们忘记在
app.json
中包含"overrides": "${app.dir}/overrides"
。您也可以修改.sencha
下的配置文件,但最好将其放在app.json
下。您不需要requires
。这在版本 5.0.1 中已修复。可能不会,但是在
app.json
中添加该行是一个非常小的更改,并且是在 5.0.0 中进行覆盖的唯一方法(我怀疑您正在使用) .