作者:骨感小男人2502861673_698 | 来源:互联网 | 2023-05-17 20:00
Irun,SenchaAppWatchInsidemySenchaTouch2app.Whichshouldfromthesenchadocscompilet
I run,
Sencha App Watch
Inside my Sencha Touch 2 app. Which should from the sencha docs compile the sass for me. My sass file is in resources/sass/app.scss, where sencha put it. Though its not picking up my scss changes that I make. While running the app watch, all i see is:
在我的Sencha Touch 2应用程序内。哪个应该来自sencha docs为我编译sass。我的sass文件在resources / sass / app.scss中,sencha把它放在了。虽然它没有改变我的scss变化,我做了。在运行app watch时,我看到的是:
[INF] executing compass using system installed ruby runtime
[INF] Updating CompileWatcher file system registrations...
[INF] Waiting for changes...
I also have my config.rb file in that directory
我在该目录中也有我的config.rb文件
# Get the directory that this configuration file exists in
dir = File.dirname(__FILE__)
# Load the sencha-touch framework automatically.
load File.join(dir, '..', '..', '../touch', 'resources', 'themes')
# Compass configurations
sass_path = dir
css_path = File.join(dir, "..", "css")
# Require any additional compass plugins here.
images_dir = File.join(dir, "..", "images")
output_style = :compressed
envirOnment= :production
I'm using the most recent version of Sencha CMD v5 (v5.0.0.160). Could it be a bug with sencha v5? What am I missing here? Thanks folks!!
我正在使用最新版本的Sencha CMD v5(v5.0.0.160)。这可能是sencha v5的错误吗?我在这里想念的是什么?谢谢大家!
1 个解决方案
0
With me being fairly new to sencha/and sass framework I didn't know why my css changes we're not taking.
由于我对sencha / and sass框架相当新,我不知道为什么我的css改变我们没有采取。
I was trying to do some overrides to the $base-color sass variable in my app.scss:
我试图在app.scss中对$ base-color sass变量进行一些覆盖:
@import 'sencha-touch/default';
@import 'sencha-touch/default/all';
$base-color: #42282E;
I assumed that sass variables cascaded, like normal property overrides. Well I was certainly wrong. After thinking about it for a couple mins, I realized since this was a variable Sass must be parsing it before it gets to my $base-color variable. So i just threw my variable above the @imports and vola.
我假设sass变量级联,就像普通的属性覆盖一样。我当然错了。在考虑了几分钟之后,我意识到因为这是一个变量Sass必须在它到达我的$ base-color变量之前解析它。所以我把变量放在了@imports和vola之上。
$base-color: #42282E;
@import 'sencha-touch/default';
@import 'sencha-touch/default/all';
lesson learned: Sass variables need to be set before the sencha imports.
经验教训:需要在sencha导入之前设置Sass变量。
It's frustrating to me that it has to be implemented like this. Maybe its because its just the way @imports are supposed be handled, but it would be super handy if it would wait until it scanned all the files for variables before replacing the variables.
令我感到沮丧的是,它必须像这样实现。也许是因为它只是@imports应该被处理的方式,但如果它等到它在替换变量之前扫描所有文件的变量,那将会非常方便。
With all that said, I'm glad to finally know how to get the sass overrides to work. Hope this helps someone else.
尽管如此,我很高兴终于知道如何让sass overrides工作。希望这有助于其他人。