【问题标题】:Sencha (v5) App Watch not picking up SASS changesSencha (v5) App Watch 不接收 SASS 更改
【发布时间】:2014-08-02 21:00:37
【问题描述】:

我跑,

Sencha App Watch

在我的 Sencha Touch 2 应用程序中。 sencha docs应该为我编译sass。我的 sass 文件在 resources/sass/app.scss 中,这里是 sencha 放的。虽然它没有接受我所做的 scss 更改。在运行应用程序手表时,我看到的只是:

[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的错误吗?我在这里想念什么? 谢谢各位!!

【问题讨论】:

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


    【解决方案1】:

    由于我对 sencha/和 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 覆盖工作。希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-18
      • 2012-05-07
      • 1970-01-01
      相关资源
      最近更新 更多