ExtJS MVC应用程序推荐的SVN存储库结构是什么?

ExtJS MVC应用程序推荐的SVN存储库结构是什么?,svn,iis,extjs,sencha-touch,Svn,Iis,Extjs,Sencha Touch,在阅读了更多关于Sencha Cmd和使用ExtJS 4构建MVC应用程序的内容后,我发现ExtJS 4应用程序的结构如下所示。同一[package]中的[application]可以共享相同的SASS(语法上非常棒的样式表)主题,并且多个[application]可以放在同一[package]中 使用“sencha生成工作区”命令创建工作区时的文件夹结构: 使用“sencha生成应用程序”命令创建应用程序时的文件夹结构: 使用“sencha app build”命令生成应用程序时的文件夹结构:

在阅读了更多关于Sencha Cmd和使用ExtJS 4构建MVC应用程序的内容后,我发现ExtJS 4应用程序的结构如下所示。同一[package]中的[application]可以共享相同的SASS(语法上非常棒的样式表)主题,并且多个[application]可以放在同一[package]中

使用“sencha生成工作区”命令创建工作区时的文件夹结构:

使用“sencha生成应用程序”命令创建应用程序时的文件夹结构:

使用“sencha app build”命令生成应用程序时的文件夹结构:

我在Sencha Cmd中只学习了几个命令,但如果我在SVN中重新构造源代码,我希望确保这些命令(以及我学习的新命令)仍然有效

通常,我将给定应用程序的根目录保存在“trunk”文件夹下。这样,如果我创建了一个分支,我就可以将所有东西都放到分支中,而不会错过任何东西。既然Sencha在路径中引入了一个额外的文件夹(即[package]文件夹),那么“trunk”文件夹应该在哪里引用[application]或[package]


否则,我想知道我是否可以为Sencha Cmd设置配置,以便使用SASS进行主题化仍然有效,部署仍然有效,SVN中的分支仍然有效,其他命令仍然有效。

这个答案可能有争议,但经过大量的故障排除和尝试和错误,对我来说是最有意义的

如果在IIS上运行ExtJS4,并且您正在使用Sencha Cmd和Sencha Architect IDE(用于锅炉板代码),我发现这种结构工作得最好,因此您不必更改各种命令的配置。这种格式的变量${variable}需要在
{workspace}\.sencha
文件夹和
{app}\.sencha
文件夹下进行更改,可以对其进行修改以解释这些差异,但我选择了最简单的选项,因此将来遇到的问题更少。创建新应用程序时,您需要将“ext-4.2”文件夹放在“trunk”、“branchs”和“tags”临时驻留的同一文件夹中,直到使用“sencha generate workspace..other parameters…”生成工作区。在该命令执行期间,将复制此文件夹,新的复制文件夹名称为“ext”,并放置在[工作区文件夹]中。我选择先生成工作区,然后为SVN添加额外的文件夹级别

C:\SVN\apps\sencha\mvc\trunk\{app}\
C:\SVN\apps\sencha\mvc\trunk\build\
C:\SVN\apps\sencha\mvc\trunk\packages\
。。“sencha”是我们的SVN存储库

。。。其中“mvc”是我们的SVN项目,也是我们的Sencha工作区

。。。其中{app}可以替换为我们应用程序的名称,首字母大写。并意识到在这个文件夹中可以有多个应用程序,以及我们的“构建”文件夹和“包”(主题)文件夹等

。。。这样,由于主题是共享的,并且构建是在工作区内生成的,因此命令将保留在同一工作区内

。。。唯一的缺点是我们需要知道每个分支的上下文。分支时,“主干”下的内容进入
分支\{name/date/version of branch}
。因此,我认为我们将通过执行
branchs\{app name}{name/date/version of branch}
进行分支

这还允许您将“ext”文件夹从应用程序中向上放置一个目录。这需要为每个应用程序构建一个虚拟目录。因此,应用程序的URL将是http://{domain}/{app name}/index.html,其中{app name}是我们虚拟目录的名称。在IIS 6中,这是自动的。但是在IIS7中,我们需要确保将虚拟目录放在站点下。另一个让人头疼的问题是,在应用程序中有“ext”文件夹是一个库。这个文件夹中有很多文件,用于所有示例代码和Sencha小部件。因此,将其放在每个应用程序文件夹中会增加每个应用程序的大小。因此,将其保存在上面的文件夹中是有意义的。在部署代码时,您只需要框架文件和一些其他文件。大多数其他文件都是使用“sencha generate app”命令生成的

\[workspace]\[application]\.sencha\
\[workspace]\[application]\app\
\[workspace]\[application]\data\
\[workspace]\[application]\resources\
\[workspace]\[application]\sass\
\[workspace]\[application]\app\models\
\[workspace]\[application]\app\views\
\[workspace]\[application]\app\controllers\
\[workspace]\[application]\app\stores\
\[workspace]\[build]\[application]\[production]\.sencha\
\[workspace]\[build]\[application]\[production]\app\
\[workspace]\[build]\[application]\[production]\data\
\[workspace]\[build]\[application]\[production]\resources\
\[workspace]\[build]\[application]\[production]\sass\
\[workspace]\[build]\[application]\[production]\app\models\
\[workspace]\[build]\[application]\[production]\app\views\
\[workspace]\[build]\[application]\[production]\app\controllers\
\[workspace]\[build]\[application]\[production]\app\stores\
C:\SVN\apps\sencha\mvc\trunk\{app}\
C:\SVN\apps\sencha\mvc\trunk\build\
C:\SVN\apps\sencha\mvc\trunk\packages\