【发布时间】:2014-03-20 13:56:58
【问题描述】:
我们有一个 extjs 应用程序,其中我们布置的结构与 Sencha 推荐的结构不完全匹配。在我们的结构中,我们没有 app.js,但我们有一个 js,其中提到了自动加载和启动功能,示例如下所示以及文件夹结构。
我们正在寻找的是缩小 admin 文件夹中的所有 JS 文件并创建一个用于生产的 JS,我们尝试查看 Sencha CMD 但没有运气。有人可以指出我们将应用程序缩小以供生产使用的确切步骤。
Ext.Loader.setConfig({
enabled: true,
paths: {
'Admin': '../../script/js/ace/admin',
'Ext.ux': '../../script/js/ext4/ux'
}
});
Ext.require('Admin.view.Administration');
Ext.application({
name: 'Admin',
appFolder: '../../script/js/ace/admin',
launch: function()
{
Ext.QuickTips.init();
var me = this;
Ext.create('Admin.view.Administration', {
renderTo: 'contentPanel'
});
}
});
我们通过生成 JSB3 文件来尝试 Cmd,我知道它在 4.2.1 中已被弃用,但我们认为这是唯一的选择。 我们尝试了以下命令,但没有生成 jsb3 文件
sencha build admin.jsb3 <path to the admin js folder>
在此先感谢,任何指针都非常感谢。
我在 Sencha 论坛上发布了这个,但我期待一个比他们提供的更简单的选项。
编辑
我们有多个应用程序,在大多数情况下,我们会尝试使用其他应用程序文件夹中的 js。 例如,在下图中,我们有实用程序和管理应用程序,从实用程序应用程序我们使用 SourceStore,并且自动加载器定义如下以访问所需的
Ext.Loader.setConfig({
enabled: true,
paths: {
'Admin': '../../script/js/ace/admin',
'Utilities': '../../script/js/ace/utilities',
'Ext.ux': '../../script/js/ext4/ux'
}
});
【问题讨论】:
-
你的后端是什么:它是带有 servlet 容器的 Java 吗?
-
是的,它带有 servlet 的 java
-
我推荐你使用jawr。特别是如果你不使用 Ext 的 loader,你可以构建 bundles(bundle=一组缩小的 JS 文件)并且可以单独请求它们。
-
jawr 似乎正是我所看到的,但由于结构不同,我有不同的文件夹并且它们是相互依赖的,我编辑了帖子以添加解释这一点的图像。下颚如何处理
-
我给了你一个答案,如果你有其他的快速问题,请在那里提问。基本上,在页面中包含所需的包之后,您的 Ext.loader 不应尝试加载任何文件,因为所有内容都应该已经加载。
标签: extjs extjs4 extjs4.1 extjs4.2