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
帖子状态

话题参与者

回复显示排序:

给大家安利一款免费的在线流程图设计软件:贼好用 ProcessFlow — 免费在线作图、实时协作 ProcessFlow是一个在线作图工具的聚合平台, 它可以在线画流程图、思维导图、UI原型图、UML、网络拓扑图、组织结构图等等, 您无需担心下载和更新的问题, 不管Mac还是Windows,一个浏览器就可以随时随地的发挥创意,规划工作,解放您的双手,让您腾出双手去成就别人的梦想。

Finally!
有没有特别的设计建议或更新的指南?
Finally!
您好,这边没有的。
tesla02 best answer
6 Jan,2019
Finally!
有没有特别的设计建议或更新的指南?
此帖子已被版主标记,收到太多否决票。

这是太大的预览图像,它应该更小,甚至五行。在一个页面上有30到60个页面,它是1800个项目 类别例如在附加组件类别有22749个项目,为什么不看到所有的项目,但只有那1800个项目?这是件坏事。

看起来您是个新人,欢迎免费注册社区,加入我们的大家庭,一起学习,一起成长。
提交你的评论
System.out.println("请输入你的代码块...");
Settings

请插入代码块