【问题标题】:Impact of generating APP with Sencha CMD or not to do it?用 Sencha CMD 生成 APP 的影响还是不做?
【发布时间】:2016-10-21 10:59:39
【问题描述】:

我只是这样使用 ExtJS:

index.html:

<script type="text/javascript" src="extjs/ext-all.js"></script>   
<script type="text/javascript" src="extjs/classic/theme-gray/theme-gray.js"></script>
<link rel="stylesheet" type="text/css" href="extjs/classic/theme-gray/resources/theme-gray-all.css">

并生成我的主屏幕:

Ext.create('Ext.tab.Panel', {
           plugins: 'viewport',
           items: [ tab01, tab02 ],
           renderTo : Ext.getBody(),
           listeners:{
                afterrender:function(){
                    // Do some post init routines...
                }
            }              
}); 

我有一些 Javascript 文件,其中包含每个屏幕的所有元素:模型、窗口、商店、网格或面板。所有这些都在同一个文件中,表示屏幕语义。我只是发现这种方式更容易维护代表每个功能的代码。

我认为使用 Sencha CMD 生成应用程序没有任何问题,但应用程序文件夹结构,即使是干净并保持其位置的东西,增长太多,让我花一些时间搜索代码。

我需要知道使用 Sencha CMD 生成应用是否只是一种信仰,否则我以后会很痛苦。

【问题讨论】:

  • 你不一定要用Cmd,但是后面会有问题。您如何构建您的生产应用?
  • 就像任何人一样。例如,就像使用 JQuery 库一样。什么样的问题?如何/为什么“构建”javascript?
  • 构建,压缩并连接成一个文件,这样发送到浏览器的效率要高得多。如果你要做任何主题,你还需要编译 sass。
  • 明白。我只使用经典的灰色主题。我只使用您在我的问题中看到的 ExtJS 文件和我自己的文件。但是我的 JS 文件不会“构建”,因为只更新应用程序的一部分很容易。这就是为什么我更喜欢将所有相关的 ExtJS 内容放在每个文件中。
  • 一个例子:假设我必须显示一个带有网格、组合和图像的窗口。我将有一个文件grid_foo_bar.js,其中包含存储、网格、模型、组合、图像和逻辑功能。如果我需要替换或修复此功能,只需编辑此文件并上传到/js/ 应用程序文件夹。再说一次,我不知道这是犯罪、异端,还是我只是在寻找问题……但这对我来说更容易。

标签: extjs6 sencha-cmd


【解决方案1】:

好的 - 这有点主观的意见,但这里是。

1) 如果您通常不使用 Sencha CMD 结构,您以后会遇到麻烦。如果您的应用程序不止一个页面/视图,那就是。如果您停留在单个对话框上,没有 SASS 自定义,并且通常不会变得复杂,您将不会看到这些问题。随着您的应用程序的增长——尤其是当您开始需要在屏幕之间共享代码(例如模型)时,您将开始为这种简单的方法感到痛苦。如果您需要支持移动设备,则需要远离这一点。

2) 即使在 Sencha CMD 结构中,您仍然可以将相关类分组到一个文件中,特别是如果它是主类的内部细节。例如,我几乎总是在同一个文件中定义我的 ViewController 和 ViewModel 类作为它们的视图。我经常在与呈现它们的视图相同的文件中定义新的小部件——如果它们变得更复杂或者我想在其他地方重用它们,则将它们分解。我在这里唯一的基本规则是永远不要“要求”以这种方式定义的类。

3) 对于任何此类方法,强烈建议使用别名而不是直接类名来引用您的类。这使得重新组织你的代码库变得更容易——你可以移动和重命名类,你所要做的就是修复你的“requires”语句。

【讨论】:

  • 非常好。这个启发性的答案让我了解了一些关于 ExtJS 方面与通常的 Javascript 库的知识。应该有一个“使用 ExtJS 进行开发时您可以、不能、可以和必须做的事情”文档。
  • Sencha CMD——连同requires 属性——用于管理大型应用程序的复杂性。例如。我使用的主应用程序有大约 514 个文件和 60000+ LOC。我需要那种支持。较小的应用程序 - 没有那么多需求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-29
相关资源
最近更新 更多