使用 SASS 设置 Foundation 5 项目

Posted

技术标签:

【中文标题】使用 SASS 设置 Foundation 5 项目【英文标题】:Foundation 5 project setup with SASS 【发布时间】:2013-12-12 08:33:24 【问题描述】:

我对 Compass 和 SASS 的整个世界都很陌生,所以我可能在这里遗漏了一些基本的东西。我遇到了 Foundation 5 的结构问题。

如何让这一切在现有 (git) 项目中整齐地工作? 当我运行foundation new myproject 时,它会将基础知识克隆到“myproject”中:依赖项的 bower_components/ 文件夹、根目录中的 config.rb、“scss”文件夹,我可以在其中修改带有 compass watch 运行的 SASS 文件生成我的 CSS 文件的背景,以及一个示例 index.html 文件。就其本身而言,我想我明白这一切是如何运作的。

我有一个现有项目,我打算在其中使用 Foundation 5。我的第一反应是尝试在我的项目的根目录中“初始化”Foundation:foundation new . 由于它使用的是 git,它当然会抱怨目录不是空的。很公平,所以我把它作为我的 public_html 中的一个子文件夹:foundation new foundation。我将 config.rb 放在项目的根目录中并更新了路径,因此我可以从根目录运行 compass watch。所有这些工作都非常顺利,我玩弄了 scss 文件并观察了我的 css 文件相应地更新。然后我提交了结果并将其从不同的位置拉出来。 'foundation',作为回购中的回购,并没有与其他一切一起承诺。里面的大部分东西都无关紧要 - foundation new whatever 再次加载它,并且 .gitignoring /bower_components 是明智的。但是我确实需要“scss”目录中的自定义代码。我尝试以不同的方式设置我的项目,将“scss”目录放在 bower 目录之外,并将其设置为 config.rb 中的 sass_dir。 该设置对我来说很有意义,但我无法让它工作:运行compass watch 失败:

     File to import not found or unreadable: foundation.

我现在的 config.rb:

    http_path = "/"
    css_dir = "public_html/assets/css"
    sass_dir = "foundation/scss"
    images_dir = "public_html/assets/img"
    javascripts_dir = "public_html/assets/js"

我如何明确告诉它基础在哪里?我尝试在 config.rb 中使用“add_import_path”,但效果不大。

我觉得我在这里遗漏了一些基本的东西,或者我想多了。由于 Foundation 5 刚出炉,谷歌并没有多大帮助。有人可以推动我朝着正确的方向前进吗?

谢谢!

【问题讨论】:

【参考方案1】:

接受的答案原来是解决方案的一部分。它起作用了,再次查看 config.rb,我意识到告诉 Compass 在哪里寻找 Foundation 的正确方法。哦。

我现在的结构如下:

config.rb
public_html/
--assets/
----scss/
----css/
----foundation/
------bower_components/
--------foundation/ 
----------scss/ # this is the dir that needed to be imported from config.rb

Config.rb:

add_import_path "public_html/assets/foundation/bower_components/foundation/scss" # *magic*
http_path = "/"
css_dir = "public_html/assets/css"
sass_dir = "public_html/assets/scss"
images_dir = "public_html/assets/img"
javascripts_dir = "public_html/assets/foundation/js"

如您所见,这种方式与我希望得到的完全一样:public_html/assets/foundation 中的 Foundation 的东西 - 除了不时运行 bower update 外,不需要触及该目录 - 并且我的自定义 scss 位于 public_html/assets/scss

感谢您给予我急需的推动!

【讨论】:

太棒了,Foundation 5 也太棒了,祝一切顺利 我遇到了同样的错误并且项目设置略有不同。你能解释一下你的自定义 scss 文件在哪里吗?那么标准下载中没有的 img 文件夹呢?【参考方案2】:

我遇到了类似的问题,我最终选择了downloading foundation-compass-template,而不是使用基础命令行

解压到我项目的根目录,然后

bower install

这是随之而来的config.rb

# Require any additional compass plugins here.
add_import_path "bower_components/foundation/scss"

# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "stylesheets"
sass_dir = "scss"
images_dir = "images"
javascripts_dir = "javascripts"

我知道这不是一个直接的答案,但希望这个项目能给你一个方向

希望对你有帮助

【讨论】:

以上是关于使用 SASS 设置 Foundation 5 项目的主要内容,如果未能解决你的问题,请参考以下文章

Foundation 6 / Bootstrap 4 - 在 webpack 中使用 sass 设置文件的正确方法

为啥我在这个 SASS 文件中得到一个未定义的 Foundation 变量错误?

Foundation SASS 阅读 | _function

在 Electron 应用中使用 Foundation

Gulp-sass 没有正确编译 Foundation 6

SASS 和 Zurb Foundation - 令人困惑的安装说明