我跑,
Sencha App Watch
在我的 Sencha Touch 2 应用程序中。 sencha 文档中的哪个应该为我编译 sass。我的sass文件在resources/sass/app.scss,sencha放的地方。尽管它没有接受我所做的 scss 更改。在运行应用程序 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 的错误吗?我在这里错过了什么? 谢谢各位!!
最佳答案
由于我对 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';
经验教训:Sass 变量需要在 sencha 导入之前设置。
让我感到沮丧的是它必须这样实现。也许是因为它只是应该处理@imports 的方式,但如果它在替换变量之前等到它扫描所有文件以查找变量,那将是非常方便的。
综上所述,我很高兴终于知道如何让 sass 覆盖工作。希望这对其他人有帮助。
关于css - Sencha (v5) App Watch 未获取 SASS 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25099373/