7

我想将 Compass 添加到我现有的项目中。我想维护我当前的项目结构,看起来像这样(简化):

app/
build/    
 |-compass/
assets/
 |-css/
   |-scss
 |-js/
 |-img/

所以我希望我的所有 SASS 文件都在\assets\css\scss 下,并且我想将编译后的 CSS 文件输出到\assets\css

跑步:

compass create --bare --sass-dir "assets\css\scss" --css-dir "assets\css"

直接在我的根目录下创建 Compass config.rb 文件。

但是,我希望文件位于\build\compass下。

  1. 如何控制 Compass 创建 config.rb 文件的位置?
  2. Compass 文档说 config.rb 中的声明(例如 css_dir、sass_dir 等)都与 project_path 相关。我在哪里定义 project_path?
4

3 回答 3

3

Compass 在与您运行命令的目录相同的目录中创建 config.rb。项目路径是 config.rb 所在的位置。您可以随意将 config.rb 放置在任何您喜欢的位置,只要您调整资产的路径即可。

于 2013-09-29T15:46:46.223 回答
1

这是 config.rb 的一个示例:

# Require any additional compass plugins here.
require 'compass/import-once/activate'

# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "../../assets/css"
sass_dir = "../../assets/css/scss"

# You can select your preferred output style here (can be overridden via the command line):
# output_style = :expanded or :nested or :compact or :compressed
output_style = :expanded

# To disable debugging comments that display the original location of your selectors. Uncomment:
line_comments = false

# Enable source map
sourcemap = true

有了这个 config.rb 设置,你的项目文件夹应该像(如你所写):

MyFolder
├ app
├ build 
│ └ compass
│   └ config.rb
└ assets
  ├ css/
  │ └ scss/
  ├ js
  └ img

如果您没有 config.rb,只需创建一个新文件“config.rb”并复制/粘贴到我编写的配置中。

打开你的终端,输入 MyFolder/build/compass 然后启动你的 compass 命令,比如:compass watch


记住

您必须在 config.rb 文件所在的同一文件夹中执行您的 compass 命令。所以在这种情况下,在 MyFolder/build/compass 中。否则指南针不起作用。

于 2015-09-06T18:49:15.143 回答
-1

我不明白您为什么要构建这样的项目...我的意思是为什么不将 scss 放入构建中,然后资产中的所有内容都可以部署用于生产?

所以:1.运行(从“app”目录)

compass create build --http-pat="../" --sass-dir="compass/scss" --css-dir="../assets/css" --javascripts-dir="../assets/js" --images-dir="../assets/img"

将创建项目文件夹和文件,如下所示:

app
 |-- build
 |     |--config.rb
 |     |-- compass
 |            |-- scss
 |-- assets
 |     |-- css
 |     |-- img
 |     |-- js
  1. 同样,从 app 目录中运行:

compass config "build/config.rb" --http-pat="../" --sass-dir="compass/scss" --css-dir="../assets/css" --javascripts-dir="../assets/js" --images-dir="../assets/img"

将简单地创建构建目录并在其中放置一个包含这些值的配置文件。

于 2015-11-04T12:45:28.623 回答