gpt4 book ai didi

sass - compass/SASS - 并非所有文件都被编译

转载 作者:行者123 更新时间:2023-12-04 19:06:16 27 4
gpt4 key购买 nike

我不知道我是否可以在不粘贴所有文件的完整代码的情况下解释这个问题,但我会尝试。

编辑我已将整个代码添加到 Github 帐户 - My Sass structure

我使用 Windows 8.1 和 Compass 0.12.6

在我的 public_html 文件夹中,我有 config.rb 文件和 stylesheets 文件夹。在样式表文件夹中,我有一个 sass 目录,我保存所有 sass 文件。 CSS 文件生成到 stylesheets/preview 文件夹(用于开发目的)和 stylesheets 文件夹(用于生产目的)。

我在 public_html 文件夹中运行 compass 观看运行 watch.bat 脚本

watch.bat 的内容是:

START compass watch -c config.rb -e development
START compass watch -c config.rb -e production
EXIT

我的 config.rb 文件是:
require 'compass/import-once/activate'
# Require any additional compass plugins here.

# Set this to the root of your project when deployed:
http_path = "../"

sass_dir = "stylesheets/sass"
images_dir = "img"
javascripts_dir = "js"
cache = false
relative_assets = true


add_import_path "stylesheets/sass"


if environment == :development
css_dir = "stylesheets/preview"
line_comments = true
output_style = :nested
end

if environment == :production
css_dir = "stylesheets"
line_comments = false
output_style = :compressed
end

在 stylsheets/sass 我有 4 个文件 print.scss , medium.scss , small.scss 和 large.scss

medium.scss 和 large.scss 都以:
@import "base/_init";

该文件从基本文件夹中导入 partial _init,这个文件加载另一个部分,其他部分加载另一个部分。

问题是当我在部分 Compass 中更改某些内容时,并不总是编译所有必要的输出文件。例如,我刚刚在 _settings.scss partial 中更改了一些内容,而这个最终由 medium.scss 和 large.scss 加载(我提醒这两个文件的开头相同,因此它们都应该被编译)。不知何故,实际上只有 medium.scss 文件被监视,而 large.scss 文件没有像在这种情况下那样编译。

我以前也有过这样的情况。我停止了 2 个观察者(CTRL + C 和 Y),然后再次运行我的 watch.bat 没有更改文件中的任何内容 - 运行后我有信息:

Change detected at 15:51:33 to: large.scss overwrite stylesheets/preview/large.css Compass is polling for changes. Press Ctrl-C to Stop.







Change detected at 15:51:33 to: large.scss overwrite stylesheets/large.css Compass is polling for changes. Press Ctrl-C to Stop.





所以实际上有一些变化应该被关注,但不知何故 compass/sass 并不总是能捕捉到它。

有时 2 个观察者都没有捕捉到变化,我不得不停止它们并再次运行 watch.bat,所以这样工作不是很方便。

有时甚至会发生观察者被停止的情况(因为我按下了 CTRL + C + y)但我没有按下任何东西并且在 cmd 中没有关于关闭可见的问题。他们刚刚停了下来

问题 : 可能是什么问题,如何解决?

最佳答案

我已经克隆并检查了您的项目结构,您的问题只是不必要地使用 Import Once 插件。如果您注释 config.rb 的第一行(此插件被激活的地方),您的样式表将正常编译。您拥有的每个主要 scss 文件(large.css、medium.css、small.css)都呈现为一个单独的 css 文件,并且您无需为这些文件中的每一个重复导入。

以下是禁用导入一次插件的导入顺序:

enter image description here

关于sass - compass/SASS - 并非所有文件都被编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23680422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com