在 ExtJs4 中重命名组件的路径
Posted
技术标签:
【中文标题】在 ExtJs4 中重命名组件的路径【英文标题】:Renaming paths to components in ExtJs4 【发布时间】:2020-10-07 07:41:34 【问题描述】:我有一个具有以下结构的 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',
期望更改生效,应用程序将完全编译并显示内容。取而代之的是,页面在登录后停止加载并显示白屏,浏览器控制台不显示更改的文件。 有什么我想重命名的吗?我对 ExtJs 不太熟悉。 任何帮助将不胜感激。
编辑:供应商文件夹下组件的重命名有效,但截至目前,我无法重命名应用程序下的任何组件,即使添加了具有相同路径的占位符命名空间。
编辑:我发现 app.js 中有这个,这让我更加困惑:
app = Ext.create('App.AbstractApplication',
name: 'vendor',
appFolder: 'public/js/app'
documentation 表示它已使用 Ext.loader.setPath() 为名称配置中配置的命名空间加载。此处的更改也会破坏应用程序
【问题讨论】:
【参考方案1】: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')
【讨论】:
以上是关于在 ExtJs4 中重命名组件的路径的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 7 中重命名文件夹:名称中包含空格的命令行 [关闭]