重命名ExtJs4中组件的路径

xoshrz7s  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(143)

我有一个Ext Js 4.1.1应用程序,具有以下结构,我试图切换两个文件夹的名称空间:

public/
├──app/
│   ├──controller/
│   ├──model/
│   ├──store/
│   └──view/
│ 
└──vendor/

我的app-Loader.js包含路径Map:

Ext.Loader.setConfig({
  enabled: false,
  disableCaching: false,
  paths: {
    'App': 'public/vendor',
    'vendor': 'public/app'
  }
});

我已经重命名了每个文件夹位置中的组件及其用法,但每当我更改其中任何一个组件时,比如说在供应商文件夹中更改Lightbox,程序就会停止工作,它不会在浏览器上呈现,文件不会加载,我也不会收到错误消息。我尝试创建第三个路径,如下所示:

'tmp' : 'public/vendor'

然后将所述组件定义从

Ext.define('App.Lightbox', {}

Ext.define('tmp.Lightbox',{}

期望更改生效的应用程序将完全编译并显示内容。相反,页面只是在登录后停止加载并显示一个白色屏幕,浏览器控制台不显示更改后的文件。是否有什么我错过了重命名?我不是很熟悉ExtJ。任何帮助将不胜感激。
编辑:重命名vendor文件夹下的组件是可行的,但到目前为止,我无法重命名app下的任何组件,即使在添加了具有相同路径的占位符命名空间之后。
编辑:我发现app.js中有这样的内容,这让我更加困惑:

app = Ext.create('App.AbstractApplication', {
 name: 'vendor',
 appFolder: 'public/js/app'
 }

文档中说它是用Ext.loader.setPath()为名称config中配置的命名空间加载的。

46scxncf

46scxncf1#

需要正确重命名name参数,同时使用新的命名空间重命名文件夹中的其他组件,因此我将app.js更改为:

app = Ext.create('App.AbstractApplication', {
name: 'app',
appFolder: 'public/js/app'
}

在app-loader.js中,我将其更改为:

Ext.Loader.setConfig({
  enabled: false,
  disableCaching: false,
  paths: {
    'App': 'public/app',
    'vendor': 'public/vendor'
  }
});

以及相应的组件,如:
public/app/Lightbox.js

Ext.define('vendor.Lightbox'){}

变成:

Ext.define('App.Lightbox'){}

相关问题