【主题】:Sencha CMD搭建多页面应用程序结构

1.搭建多页面应用程序结构

 

对于Cmd来说,页面是一个“应用程序”。“工作区”是应用程序(真正的页面),包和框架的容器。 这个集合通常是开发人员视为“应用程序”的集合,但我不会在这里使用该术语来避免进一步混淆此事。

因此,生成工作空间是第1步。


sencha generate workspace --ext ws

sencha --sdk E:/框架学习/ext学习/ext-6.2.0-gpl/ext-6.2.0  generate workspace extWorkspace

现在有了这个工作区,如果我们将它作为当前目录,我们就可以生成多个应用程序:
cd ws
sencha generate app --ext App1 --classic apps/app1
sencha generate app --ext App2 --modren apps/app2

--classic表示桌面App,

--modren表示移动端App

"E:/idea-workspace/workspace/mxr&bvd ext upgrade/bvd/WebRoot" 这种“mxr&bvd ext upgrade”奇怪的名字要用双引号

在这些应用程序之间共享代码的最佳方式是通过包。
sencha generate package common
工作空间目录结构
ws/
    ext/
        src/
        ...
    packages/
        common/
            resources/
            sass/
            src/
            package.json
    apps/
        app1/
            ...
            app.json
        app2/
            ...
            app.json
在每个“app.json”文件中,添加以下内容:
 "requires": [
        "common"
    ]
现在,您在“common”包中编写的任何代码都将在所有应用程序中可用。下面build每个应用程序:
cd apps/app1
sencha app build [development] [testing] [production]
cd ../app2
sencha app build
快捷方式
sencha --cwd apps/app1 app build
sencha --cwd apps/app2 app build

2.packages / common / src / 如何编写代码?

包的“src”文件夹中的代码与应用程序的“app”文件夹中的代码相同:只需要Ext.define调用来定义您的类。
我建议给应用程序和包提供他们自己的顶级命名空间,或者他们可以共享顶级命名空间并拥有自己的第二级命名空间
选项#1(顶级命名空间)
App1.view.Foo
App2.view.Bar
Common.view.Baz
选项#2(共享顶级命名空间)
Acme.app1.view.Foo
Acme.app2.view.Bar
Acme.common.view.Baz
无论你使用命名空间,磁盘上的文件都大致相同:
   apps/
      app1/
         app/
            view/
               Foo.js

      app2/
         app/
            view/
               Bar.js

      packages/
         common/
            src/
               view/
                  Baz.js
如果您正在编写Sass代码,则需要在JSON文件中设置“sass namespace”。请确保它们位于相应的文件中:
apps / app1 / app.json
"sass":{
      "namespace":"App1"//或"Acme.app1",如果你选择#2选项
   }
apps/ APP2 / app.json
"sass":{
     "namespace":"App2"//或"Acme.app2",如果你选择#2选项
   }

packages/common/的package.json

   "sass":{
      "namespace":"Common" //或 "Acme.common"如果你选择#2选项
   }
非原创,原文地址https://www.sencha.com/forum/showthread.php?283461-Multipage-application-structure-with-Sencha-CMD
 发表评论     发表时间:『2019-02-21 20:25:16』


扫描二维码关注网站最新动态