使用ExtJS主题系统时,为何运行sencha app watch仍需执行sencha app build?
Sencha CMD
sencha app watch不更新SCSS编译结果的问题分析 这不是Sencha CMD的正常行为,大概率是配置或缓存问题导致的,给你几个排查方向:
检查SCSS文件路径
确认你的SCSS文件在Sencha CMD默认监听的目录里——一般主题相关SCSS要放在resources/sass或主题包指定的目录。如果文件路径不在app.json的css配置、或者主题包package.json定义的资源路径中,watch可能不会触发完整编译。清掉Sencha CMD缓存
Sencha CMD会缓存编译资源,缓存没失效就会导致更新不生效。执行这条命令清缓存:sencha app clean之后重启
sencha app watch,再改SCSS测试效果。核实mixin引用是否正确
如果改的是自定义mixin,确认mixin文件已经被正确@import到主SCSS文件里。要是mixin是通过主题继承引入的,检查主题继承配置有没有问题,别让watch漏了mixin文件的变更。检查
app.json的编译配置
打开app.json看builds下的development配置,确认SCSS实时编译开了:"builds": { "development": { "toolkit": "classic", "theme": "your-theme", "sass": { "compiler": "sass", "outputStyle": "nested" } } }必须要有
sass配置项且参数正确,缺了这个配置的话,watch可能跳过SCSS编译。排查文件权限
确认Sencha CMD有足够权限写入CSS输出目录(通常是resources/css),权限不够的话,编译完也覆盖不了旧文件,就会出现修改日期没更新的情况。
内容的提问来源于stack exchange,提问作者leonard.javiniar
相关产品推荐
相关产品推荐

