我一直在考虑将Compass应用到现有的Sass项目中。但是,我很难找出它是否可能。
我一直在阅读文档,知道您可以使用--sass-dir
和--css-dir
来定义它所查找的文件夹名称,但我似乎无法阻止Compass创建它本身就是我自己的项目结构。我是否需要创建自定义配置文件?
这是结构:
js
|_//js here
img
|_//images here
css
-main.css //combined from main.scss
-main.min.scss //combined and minified from main.scss
|_sass
|_base
-//scss files in this folder
|_components
-//scss files in this folder
|_layouts
-//scss files in this folder
|_utilities
-//scss files in this folder
-main.scss // where the imports are
希望这是有道理的,如果可能的话,任何建议都会受到高度赞赏。
答案 0 :(得分:2)
是的,您需要创建自定义config.rb并将其放在站点的根目录中。它看起来像这样。
# Require any additional compass plugins here.
require "susy"
require "sass-globbing"
require "breakpoint"
#Folder settings
project_type = :stand_alone
http_path = "/"
relative_assets = true #because we're not working from the root
css_dir = "css" #where the CSS will saved
sass_dir = "scss" #where our .scss files are
images_dir = "img" #the folder with your images
javascripts_dir = "js"
# You can select your preferred output style here (can be overridden via the command line):
output_style = :expanded # After dev :compressed
# To disable debugging comments that display the original location of your selectors. Uncomment:
line_comments = false
# Obviously
preferred_syntax = :scss
# Sourcemaps for Chrome DevTools
sass_options = {:sourcemap => true}
# sass_options = {:debug_info => true}
sourcemap = true
请注意我使用了一些内容,比如susy和breakpoint,所以如果你不使用那些删除config.rb文件顶部的需求。
由于config.rb文件位于根目录中,因此您的css,scss,js文件夹都是相对目录。
创建并保存后,只需转到您的终端,导航到您的站点目录并运行指南针监视。
请注意,您必须获取已有的CSS文件并将其放在scss文件夹中。否则指南针将覆盖你的CSS,你也必须将它们重命名为.scss我会先保存备份,这样你就不会丢失任何东西
答案 1 :(得分:1)
Compass文档非常清楚您需要在此处执行的操作。他们的install instructions有一个启用JS的表单,它将生成您需要运行的确切命令,以便为具有所需目录结构的现有项目生成config.rb。您要运行的命令如下所示:
compass create --bare --sass-dir "sass" --css-dir "css" --javascripts-dir "js" --images-dir "img"
需要从项目目录中运行,所有路径都是从config.rb 的位置开始的相对。离开其他标志(例如--sass-dir
等)将告诉Compass使用默认目录名称。如果目录结构发生变化,您可以随时修改config.rb。
请注意,运行此命令不是必需。您可以自由编写自己的config.rb或从现有项目中复制一个。
相关: