gpt4 book ai didi

css - compass ,添加导入路径

转载 作者:技术小花猫 更新时间:2023-10-29 12:03:22 27 4
gpt4 key购买 nike

要在多个目录中编译 .scss 文件,我们需要使用“add_import_path”(http://compass-style.org/help/tutorials/configuration-reference/),但我不知道如何操作。

我试过添加

additional_import_paths
add_import_path "_themes"
add_import_path = "_themes"
additional_import_paths = "_themes"

在我的 config.rb 中,但运气不好,Compass 仅从 sass_dir = "_modules"

编译

更新:是的,这一行

add_import_path "_themes"

没有给我们“找不到文件夹”错误,但 compass 仍然没有在其中编译 .scss

我做错了什么?

最佳答案

这里有一个公认的答案,但我不认为它回答了问题,而是提供了一个替代解决方案。这绝对没问题,我不想侮辱任何人,但这里没有关于 add_import_path 及其对您的作用的信息。

如果有人曾经在 Magento 工作过,您就会熟悉它的主题和模板文件的后备结构。为了设置使用相同默认皮肤的多个商店,我们需要包含一个后备结构,该结构将允许在预定义的层次结构上进行更改。所以检查 dis config.rb 文件

myThemeA - config.rb

require "font-awesome-sass"
http_path = "/skin/frontend/rwd/myThemeA/"
add_import_path "../../../rwd/default/scss"
css_dir = "../css"
sass_dir = "../scss"
images_dir = "../images"
javascripts_dir = "../js"
fonts_dir = "../css/fonts"
relative_assets = true

output_style = :expanded
environment = :production
sourcemap = true

myThemeB - config.rb

require "font-awesome-sass"
http_path = "/skin/frontend/rwd/myThemeB/"
add_import_path "../../../rwd/default/scss"
additional_import_paths = ["../../../rwd/myThemeA/scss"]
css_dir = "../css"
sass_dir = "../scss"
images_dir = "../images"
javascripts_dir = "../js"
fonts_dir = "../../myThemeA/css/fonts"
relative_assets = true

output_style = :expanded
environment = :production
sourcemap = true

所以这里的想法是我们有三个皮肤,我们可以使用导入路径只覆盖某些文件,而不是在每个皮肤中包含每个文件。这也意味着,当我们想要进行全局更改时,根据我们更改的内容,我们不需要进行 3 次更改——只能更改到链中依赖项所在的位置。

所以...

默认是所有皮肤的基础

myThemeA 本身就是皮肤,默认情况下使用 default

myThemeB 默认使用 myThemeA,而 myThemeA 默认使用 default。

这项工作的成功之处在于 add_import_pathadditional_import_paths 的放置。本质上,它使用首先定义为默认值的 add_import_path,然后随后的 additional_import_paths 数组将覆盖 add_import_path 中的内容,但任何不是' t包含在附加里,它会在默认里去寻找。

希望这对寻找有关导入路径的更多信息的任何人都有意义。

关于css - compass ,添加导入路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087267/

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