重命名ExtJs4中组件的路径

问题描述

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

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

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

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

我已经在每个文件夹位置中重命名了组件及其用法,但是每当更改其中任何一个组件时,假设供应商文件夹中的灯箱程序都停止工作,它不会在浏览器上呈现,文件是没有加载,我没有收到任何错误消息。 我试图创建这样的第三条路径:

'tmp' : 'public/vendor'

然后将所述组件的定义从

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

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

期待更改生效,该应用将完全编译并显示内容。取而代之的是,页面仅在登录后停止加载并显示白屏,浏览器控制台不显示更改后的文件。 我想重命名吗?我对ExtJ不太熟悉。 任何帮助将不胜感激。

编辑:重命名vendor文件夹下的组件是可行的,但是到目前为止,即使添加具有相同路径的占位符命名空间,我也无法重命名应用程序下的任何组件。

编辑:我发现app.js中存在此问题,这让我更加困惑:

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

documentation表示已使用Ext.loader.setPath()加载了名称config中配置的名称空间。此处的更改也会破坏应用程序

解决方法

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'){}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...