问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在ExtJS 6中使用Fashion美化应用程序

发布网友 发布时间:2022-04-24 16:16

我来回答

1个回答

热心网友 时间:2022-04-20 18:28

编译主题

Ext
JS应用程序的主题使用的是SASS,它是一种动态编写CSS代码的方法。例如,可以在样式表中使用变量和运算。浏览器并不了解SASS,它只知道CSS,隐藏,这些SASS主题需要被编译为浏览器能理解的,生产用的CSS代码。在Ext
JS应用程序中可以通过在Sencha Cmd运行以下命令来编译主题:
sencha app build [development]


sencha app watch [toolkit]

两者的区别在于watch会通过轮询来了解更新,并理解进行编译,而build编译只能手动执行一次。

在旧版本的Ext JS或Sencha Touch,SASS样式是在Ruby中编译的。在Windows,需要使用管理员权限来安装Ruby。一旦安装完成,就可以开始编译主题了。不过,在有大量代码库和高级主题的时候,就要花费大量的编译时间。

为了编译高级主题,有时候需要花费一分钟。然后,你不得不刷新浏览器窗口来测试主题以确保已正确设置SASS变量。之后还要一次次的重复此过程。要知道,这个过程是相当耗时间的。这也是为什么对Fashion感到高兴的原因。

Sencha Fashion是使用javascript来编译主题的,可以说这是超级的快。当在左边的显示器修改一行代码后,就可以右边的显示器看到变化了,就是这么快。不再需要等等编译(在服务器开始),也不再需要刷新浏览器窗口。

由于Fashion使用的是javascript,因而有更多优点。例如,可以在Fashion之上进行扩展并创建自己的样式功能(类似SASS功能),还能调试样式表代码。

不过,最大的得益还是可以在开发机器上设计主题。要实现这个,只需要在命令行运行sencha app watch并在URL中添加以下参数:
?platformTags=fashion:true

开始编译

下面来尝试下使用Fashion来编译一个主题。首先,下载Ext JS 6。这已经包含了SDK。还需要下载Sencha Cmd 6。

安装好命令行工具后,在机器上解压Ext JS 6框架包(zip)。打开命令行提示符并通过命令行导航到框架文件夹。在Ext6文件夹,输入以下命令来创建第一个sencha通用应用程序:
ext> sencha generate app MyApp ../指定的项目路径

在IDE或编辑器中打开新的应用程序项目。要注意classic和modern这两个新的文件夹。这是用来区分工具包的文件夹。共享代码要放在app文件夹内。classic工具包文件夹包含了旧版本(桌面)视图,而modern工具包文件夹则包含了现代touch的视图。对于两个工具包来说,DOM是不同的,因而样式也会有些许不同。这也是为什么工具包文件夹会有一个src子文件夹用来放置javascript代码,会有一个sass文件夹来放置指定的样式的原因。

打开app.json文件并滚动到“builds”配置:
"builds": {
"classic": {
"toolkit": "classic",
"theme": "theme-triton"
},

"modern": {
"toolkit": "modern",
"theme": "theme-neptune"
}
},12345678910111234567891011

要注意这里的每一个build配置,他们都有自己的工具包和主题。对于classic配置,将使用新的海卫一(Triton)主题,而modern工具包将使用海王星(Neptune)主题(原名是Sencha Touch默认主题)。

现在不需要对这个进行修改。下面来创建两个新文件:
classic/sass/var/Application.scss
modern/sass/var/Application.scss

现在,打开Sencha本地Web服务器,并让Sencha轮询样式表的改变。

在通用应用程序的文件夹中,运行以下命令:

项目文件夹> sencha app watch classic

如果Cmd安装正确,该命令会正确运行。现在内置的sencha服务器将等待更新。应用程序默认可通过http://localhost:1841来访问。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 extjs grid 怎样合并单元格? Extjs中如何合并多表头 extjs gridpanel 如何合并单元格 ExtJS 6有什么新东西 谁知道所有国产战争片老电影的名字? 求一个电影的名字。一个小组的美国大兵在丛林执行任务。结果被打散了,其中有一个落单了和一个敌人单挑 谁记得一部早期的香港电影的名字 谁能给我提供几部关于打越南战争的电影~~~~~~~~~谢谢了 老的新的都可以 求好看的丛林战争电影 韩国特种部队深入丛林血战悍匪是什么电影? 有一部影片讲的是二战一个士兵上战场不拿*只救人的影片 好像是最近两年新拍的 有人知道吗 电影《血战太平洋》剧情简介及其它资料 小时候看过的电影,似乎是越战为背景的,在丛林里面,丛林里面有机关陷阱,忘了这电影叫什么名字 谁给介绍一些丛林求生的 或者二战时候比较经典的电影? 对越自卫反击战的影片有哪 有关于中国对越自卫反击战的电影吗 哪有血战丛林电影 顶级越战老兵血战丛林电影高清是什么电影 血战丛林越南战争电影 科学家的故事20一30个字 有人用extjs(modern|classic)来开发ipad管理软件吗 extjs定义grid的列的时候 如何合并列头 请问extjs 6 grid怎么实现合计,合计行要固定在表格下面,不随纵向滚动... extjs 6.2 什么时候出 extjs4中如何显示合并的的单元格? 怎么在Extjs里面整合Echarts显示出图形 求代码 extjs6 gpl 与商业版的差别 Extjs6 菜单树左对齐 本人现在学习ExtJS,谁有ExtJS的入门教程视频,(清晰版的)适合初次接触Ext... Extjs6 chart 求助 extjs6 combbox怎么清除缓存 Extjs 数组怎么自定义,并且赋值 ExtJS6 Ext.Define is not constructor 脐带血如何储存?过程会不会很麻烦? 脐带血如何储存?安全吗? 出生时采集并冷冻保存脐带血有必要么? 脐带血怎么保存?个人能冷冻保存吗? 脐带血如何储存,储存费用是多少? 新生儿的脐带血有什么用处,脐带血移植有什么优势? 想问一下,脐带血保存就是简单地把血液冻起来吗?