Sencha(v5)App Watch没有收到SASS更改

时间:2014-08-02 21:00:38

标签: css ruby-on-rails extjs sass touch

我跑,

Sencha App Watch

在我的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...

我在该目录中也有我的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

我使用的是最新版本的Sencha CMD v5(v5.0.0.160)。这可能是sencha v5的错误吗?我在这里错过了什么? 谢谢大家!!

1 个答案:

答案 0 :(得分:0)

由于我对sencha / and sass框架相当新,我不知道为什么我的css改变了我们没有采取。

我试图对app.scss中的$ base-color sass变量进行一些覆盖:

@import 'sencha-touch/default';
@import 'sencha-touch/default/all';
$base-color: #42282E;

我假设sass变量级联,就像普通的属性覆盖一样。我当然错了。在考虑了几分钟之后,我意识到因为这是一个变量Sass必须在它到达我的$ base-color变量之前解析它。所以我只是将我的变量抛到了@imports和vola。

之上
$base-color: #42282E;
@import 'sencha-touch/default';
@import 'sencha-touch/default/all';

经验教训:需要在sencha导入之前设置Sass变量。

令我感到沮丧的是,它必须像这样实施。也许是因为它只是处理@imports的方式,但如果等到它在替换变量之前扫描所有文件中的变量,那将会非常方便。

尽管如此,我很高兴终于知道如何让sass overrides工作。希望这有助于其他人。