4

我正在尝试设置我的 ExtJS 4 项目,所以我有三个顶级应用程序,例如,

/foo/app.js
/bar/app.js
/baz/app.js

每个“顶级”应用程序都是一个单独的 ExtJS 应用程序,每个都有自己的加载器。在某些情况下,我将拥有想要在所有三个应用程序之间共享的通用组件,所以我有/components顶级目录。

如果我有一个组件名称说 ComponentA,

/components/componenta.js

我将如何将 ComponentA 放入所有三个应用程序中,以便单个应用程序可以引用或扩展它?

4

1 回答 1

10

您可以将此相同的加载程序添加到每个应用程序app.js文件中。

Ext.Loader.setPath('Common', '../components/');

然后在定义公共组件时为它们提供相同的命名空间,并将它们放在组件顶级文件夹中。

componenta.js

Ext.define('Common.componenta', {
    extend: 'Ext.panel.Panel',
    title: 'Component A'
});

然后 Common 命名空间将可供您在每个应用程序中扩展

Ext.define('Foo.panel', {
    extend: 'Common.componenta',
    title: 'Foo Panel'
});
于 2012-08-29T23:47:53.617 回答